<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# LANGUAGE DeriveGeneric #-}</span><span>
</span><span id="line-2"></span><span class="hs-pragma">{-# LANGUAGE FlexibleContexts #-}</span><span>
</span><span id="line-3"></span><span class="hs-pragma">{-# LANGUAGE RankNTypes #-}</span><span>
</span><span id="line-4"></span><span class="hs-pragma">{-# LANGUAGE RecordWildCards #-}</span><span>
</span><span id="line-5"></span><span class="hs-pragma">{-# LANGUAGE ScopedTypeVariables #-}</span><span>
</span><span id="line-6"></span><span>
</span><span id="line-7"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Distribution.Simple.Program.GHC</span><span> </span><span class="hs-special">(</span><span>
</span><span id="line-8"></span><span>    </span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcOptions"><span class="hs-identifier">GhcOptions</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-9"></span><span>    </span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcMode"><span class="hs-identifier">GhcMode</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-10"></span><span>    </span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcOptimisation"><span class="hs-identifier">GhcOptimisation</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-11"></span><span>    </span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcDynLinkMode"><span class="hs-identifier">GhcDynLinkMode</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-12"></span><span>    </span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcProfAuto"><span class="hs-identifier">GhcProfAuto</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-13"></span><span>
</span><span id="line-14"></span><span>    </span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#ghcInvocation"><span class="hs-identifier">ghcInvocation</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-15"></span><span>    </span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#renderGhcOptions"><span class="hs-identifier">renderGhcOptions</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-16"></span><span>
</span><span id="line-17"></span><span>    </span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#runGHC"><span class="hs-identifier">runGHC</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-18"></span><span>
</span><span id="line-19"></span><span>    </span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#packageDbArgsDb"><span class="hs-identifier">packageDbArgsDb</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-20"></span><span>    </span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#normaliseGhcArgs"><span class="hs-identifier">normaliseGhcArgs</span></a></span><span>
</span><span id="line-21"></span><span>
</span><span id="line-22"></span><span>  </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-23"></span><span>
</span><span id="line-24"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Prelude.html#"><span class="hs-identifier">Prelude</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-25"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Compat.Prelude.html"><span class="hs-identifier">Distribution.Compat.Prelude</span></a></span><span>
</span><span id="line-26"></span><span>
</span><span id="line-27"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Backpack.html"><span class="hs-identifier">Distribution.Backpack</span></a></span><span>
</span><span id="line-28"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Compat.Semigroup.html"><span class="hs-identifier">Distribution.Compat.Semigroup</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Compat.Semigroup.html#First%27"><span class="hs-identifier">First'</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Compat.Semigroup.html#Last%27"><span class="hs-identifier">Last'</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Compat.Semigroup.html#Option%27"><span class="hs-identifier">Option'</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-29"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.GHC.ImplInfo.html"><span class="hs-identifier">Distribution.Simple.GHC.ImplInfo</span></a></span><span>
</span><span id="line-30"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.PackageDescription.html"><span class="hs-identifier">Distribution.PackageDescription</span></a></span><span>
</span><span id="line-31"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.ModuleName.html"><span class="hs-identifier">Distribution.ModuleName</span></a></span><span>
</span><span id="line-32"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Compiler.html"><span class="hs-identifier">Distribution.Simple.Compiler</span></a></span><span>
</span><span id="line-33"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html"><span class="hs-identifier">Distribution.Simple.Flag</span></a></span><span>
</span><span id="line-34"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Program.Types.html"><span class="hs-identifier">Distribution.Simple.Program.Types</span></a></span><span>
</span><span id="line-35"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Program.Run.html"><span class="hs-identifier">Distribution.Simple.Program.Run</span></a></span><span>
</span><span id="line-36"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.System.html"><span class="hs-identifier">Distribution.System</span></a></span><span>
</span><span id="line-37"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Pretty.html"><span class="hs-identifier">Distribution.Pretty</span></a></span><span>
</span><span id="line-38"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.ComponentId.html"><span class="hs-identifier">Distribution.Types.ComponentId</span></a></span><span>
</span><span id="line-39"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.ModuleRenaming.html"><span class="hs-identifier">Distribution.Types.ModuleRenaming</span></a></span><span>
</span><span id="line-40"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html"><span class="hs-identifier">Distribution.Verbosity</span></a></span><span>
</span><span id="line-41"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Version.html"><span class="hs-identifier">Distribution.Version</span></a></span><span>
</span><span id="line-42"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Utils.NubList.html"><span class="hs-identifier">Distribution.Utils.NubList</span></a></span><span>
</span><span id="line-43"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Language.Haskell.Extension.html"><span class="hs-identifier">Language.Haskell.Extension</span></a></span><span>
</span><span id="line-44"></span><span>
</span><span id="line-45"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Data.List.html#"><span class="hs-identifier">Data.List</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/Data.OldList.html#stripPrefix"><span class="hs-identifier">stripPrefix</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-46"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="../../containers/src/Data.Map.html#"><span class="hs-identifier">Data.Map</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">Map</span></span><span>
</span><span id="line-47"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Data.Monoid.html#"><span class="hs-identifier">Data.Monoid</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/Data.Semigroup.Internal.html#All"><span class="hs-identifier">All</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/Data.Semigroup.Internal.html#Any"><span class="hs-identifier">Any</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/Data.Semigroup.Internal.html#Endo"><span class="hs-identifier">Endo</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-48"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="../../containers/src/Data.Set.html#"><span class="hs-identifier">Data.Set</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">Set</span></span><span>
</span><span id="line-49"></span><span>
</span><span id="line-50"></span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#normaliseGhcArgs"><span class="hs-identifier hs-type">normaliseGhcArgs</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="Distribution.Types.Version.html#Version"><span class="hs-identifier hs-type">Version</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-51"></span><span id="normaliseGhcArgs"><span class="annot"><span class="annottext">normaliseGhcArgs :: Maybe Version -&gt; PackageDescription -&gt; [[Char]] -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#normaliseGhcArgs"><span class="hs-identifier hs-var hs-var">normaliseGhcArgs</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621679687905"><span class="annot"><span class="annottext">Version
</span><a href="#local-6989586621679687905"><span class="hs-identifier hs-var">ghcVersion</span></a></span></span><span class="hs-special">)</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span class="hs-special">{</span><span id="local-6989586621679687874"><span id="local-6989586621679687875"><span id="local-6989586621679687876"><span id="local-6989586621679687877"><span id="local-6989586621679687878"><span id="local-6989586621679687879"><span id="local-6989586621679687880"><span id="local-6989586621679687881"><span id="local-6989586621679687882"><span id="local-6989586621679687883"><span id="local-6989586621679687884"><span id="local-6989586621679687885"><span id="local-6989586621679687886"><span id="local-6989586621679687887"><span id="local-6989586621679687888"><span id="local-6989586621679687889"><span id="local-6989586621679687890"><span id="local-6989586621679687891"><span id="local-6989586621679687892"><span id="local-6989586621679687893"><span id="local-6989586621679687894"><span id="local-6989586621679687895"><span id="local-6989586621679687896"><span id="local-6989586621679687897"><span id="local-6989586621679687898"><span id="local-6989586621679687899"><span id="local-6989586621679687900"><span id="local-6989586621679687901"><span id="local-6989586621679687902"><span id="local-6989586621679687903"><span class="annot"><span class="annottext">[Char]
[[Char]]
[([Char], [Char])]
[(CompilerFlavor, VersionRange)]
[SourceRepo]
[TestSuite]
[Library]
[ForeignLib]
[Executable]
[Benchmark]
Maybe BuildType
Maybe SetupBuildInfo
Maybe Library
Either License License
ShortText
CabalSpecVersion
PackageIdentifier
testedWith :: PackageDescription -&gt; [(CompilerFlavor, VersionRange)]
testSuites :: PackageDescription -&gt; [TestSuite]
synopsis :: PackageDescription -&gt; ShortText
subLibraries :: PackageDescription -&gt; [Library]
stability :: PackageDescription -&gt; ShortText
specVersion :: PackageDescription -&gt; CabalSpecVersion
sourceRepos :: PackageDescription -&gt; [SourceRepo]
setupBuildInfo :: PackageDescription -&gt; Maybe SetupBuildInfo
pkgUrl :: PackageDescription -&gt; ShortText
package :: PackageDescription -&gt; PackageIdentifier
maintainer :: PackageDescription -&gt; ShortText
licenseRaw :: PackageDescription -&gt; Either License License
licenseFiles :: PackageDescription -&gt; [[Char]]
library :: PackageDescription -&gt; Maybe Library
homepage :: PackageDescription -&gt; ShortText
foreignLibs :: PackageDescription -&gt; [ForeignLib]
extraTmpFiles :: PackageDescription -&gt; [[Char]]
extraSrcFiles :: PackageDescription -&gt; [[Char]]
extraDocFiles :: PackageDescription -&gt; [[Char]]
executables :: PackageDescription -&gt; [Executable]
description :: PackageDescription -&gt; ShortText
dataFiles :: PackageDescription -&gt; [[Char]]
dataDir :: PackageDescription -&gt; [Char]
customFieldsPD :: PackageDescription -&gt; [([Char], [Char])]
copyright :: PackageDescription -&gt; ShortText
category :: PackageDescription -&gt; ShortText
buildTypeRaw :: PackageDescription -&gt; Maybe BuildType
bugReports :: PackageDescription -&gt; ShortText
benchmarks :: PackageDescription -&gt; [Benchmark]
author :: PackageDescription -&gt; ShortText
extraDocFiles :: [[Char]]
extraTmpFiles :: [[Char]]
extraSrcFiles :: [[Char]]
dataDir :: [Char]
dataFiles :: [[Char]]
benchmarks :: [Benchmark]
testSuites :: [TestSuite]
foreignLibs :: [ForeignLib]
executables :: [Executable]
subLibraries :: [Library]
library :: Maybe Library
setupBuildInfo :: Maybe SetupBuildInfo
buildTypeRaw :: Maybe BuildType
customFieldsPD :: [([Char], [Char])]
category :: ShortText
description :: ShortText
synopsis :: ShortText
sourceRepos :: [SourceRepo]
bugReports :: ShortText
pkgUrl :: ShortText
homepage :: ShortText
testedWith :: [(CompilerFlavor, VersionRange)]
stability :: ShortText
author :: ShortText
maintainer :: ShortText
copyright :: ShortText
licenseFiles :: [[Char]]
licenseRaw :: Either License License
package :: PackageIdentifier
specVersion :: CabalSpecVersion
</span><a href="Distribution.Types.PackageDescription.html#testedWith"><span class="hs-glyph hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">..</span></a></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span class="hs-special">}</span><span> </span><span id="local-6989586621679687843"><span class="annot"><span class="annottext">[[Char]]
</span><a href="#local-6989586621679687843"><span class="hs-identifier hs-var">ghcArgs</span></a></span></span><span>
</span><span id="line-52"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Version
</span><a href="#local-6989586621679687905"><span class="hs-identifier hs-var">ghcVersion</span></a></span><span> </span><span class="annot"><span class="annottext">Version -&gt; VersionRange -&gt; Bool
</span><a href="Distribution.Types.VersionRange.html#withinRange"><span class="hs-operator hs-var">`withinRange`</span></a></span><span> </span><span class="annot"><span class="annottext">VersionRange
</span><a href="#local-6989586621679687841"><span class="hs-identifier hs-var">supportedGHCVersions</span></a></span><span>
</span><span id="line-53"></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[[Char]] -&gt; [[Char]]
</span><a href="#local-6989586621679687840"><span class="hs-identifier hs-var">argumentFilters</span></a></span><span> </span><span class="annot"><span class="annottext">([[Char]] -&gt; [[Char]])
-&gt; ([[Char]] -&gt; [[Char]]) -&gt; [[Char]] -&gt; [[Char]]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">([Char] -&gt; Bool) -&gt; [[Char]] -&gt; [[Char]]
forall a. (a -&gt; Bool) -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.List.html#filter"><span class="hs-identifier hs-var">filter</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; Bool
</span><a href="#local-6989586621679687838"><span class="hs-identifier hs-var">simpleFilters</span></a></span><span> </span><span class="annot"><span class="annottext">([[Char]] -&gt; [[Char]])
-&gt; ([[Char]] -&gt; [[Char]]) -&gt; [[Char]] -&gt; [[Char]]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">[[Char]] -&gt; [[Char]]
</span><a href="#local-6989586621679687837"><span class="hs-identifier hs-var">filterRtsOpts</span></a></span><span> </span><span class="annot"><span class="annottext">([[Char]] -&gt; [[Char]]) -&gt; [[Char]] -&gt; [[Char]]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">[[Char]]
</span><a href="#local-6989586621679687843"><span class="hs-identifier hs-var">ghcArgs</span></a></span><span>
</span><span id="line-54"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-55"></span><span>    </span><span class="annot"><a href="#local-6989586621679687841"><span class="hs-identifier hs-type">supportedGHCVersions</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.VersionRange.Internal.html#VersionRange"><span class="hs-identifier hs-type">VersionRange</span></a></span><span>
</span><span id="line-56"></span><span>    </span><span id="local-6989586621679687841"><span class="annot"><span class="annottext">supportedGHCVersions :: VersionRange
</span><a href="#local-6989586621679687841"><span class="hs-identifier hs-var hs-var">supportedGHCVersions</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">VersionRange -&gt; VersionRange -&gt; VersionRange
</span><a href="Distribution.Types.VersionRange.Internal.html#intersectVersionRanges"><span class="hs-identifier hs-var">intersectVersionRanges</span></a></span><span>
</span><span id="line-57"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Version -&gt; VersionRange
</span><a href="Distribution.Types.VersionRange.Internal.html#orLaterVersion"><span class="hs-identifier hs-var">orLaterVersion</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[Int] -&gt; Version
</span><a href="Distribution.Types.Version.html#mkVersion"><span class="hs-identifier hs-var">mkVersion</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span class="hs-special">]</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-58"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Version -&gt; VersionRange
</span><a href="Distribution.Types.VersionRange.Internal.html#earlierVersion"><span class="hs-identifier hs-var">earlierVersion</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[Int] -&gt; Version
</span><a href="Distribution.Types.Version.html#mkVersion"><span class="hs-identifier hs-var">mkVersion</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">9</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span class="hs-special">]</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-59"></span><span>
</span><span id="line-60"></span><span>    </span><span id="local-6989586621679688240"><span class="annot"><a href="#local-6989586621679687832"><span class="hs-identifier hs-type">from</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#Monoid"><span class="hs-identifier hs-type">Monoid</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679688240"><span class="hs-identifier hs-type">m</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679688240"><span class="hs-identifier hs-type">m</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679688240"><span class="hs-identifier hs-type">m</span></a></span></span><span>
</span><span id="line-61"></span><span>    </span><span id="local-6989586621679687832"><span class="annot"><span class="annottext">from :: forall m. Monoid m =&gt; [Int] -&gt; m -&gt; m
</span><a href="#local-6989586621679687832"><span class="hs-identifier hs-var hs-var">from</span></a></span></span><span> </span><span id="local-6989586621679687829"><span class="annot"><span class="annottext">[Int]
</span><a href="#local-6989586621679687829"><span class="hs-identifier hs-var">version</span></a></span></span><span> </span><span id="local-6989586621679687828"><span class="annot"><span class="annottext">m
</span><a href="#local-6989586621679687828"><span class="hs-identifier hs-var">flags</span></a></span></span><span>
</span><span id="line-62"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Version
</span><a href="#local-6989586621679687905"><span class="hs-identifier hs-var">ghcVersion</span></a></span><span> </span><span class="annot"><span class="annottext">Version -&gt; VersionRange -&gt; Bool
</span><a href="Distribution.Types.VersionRange.html#withinRange"><span class="hs-operator hs-var">`withinRange`</span></a></span><span> </span><span class="annot"><span class="annottext">Version -&gt; VersionRange
</span><a href="Distribution.Types.VersionRange.Internal.html#orLaterVersion"><span class="hs-identifier hs-var">orLaterVersion</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[Int] -&gt; Version
</span><a href="Distribution.Types.Version.html#mkVersion"><span class="hs-identifier hs-var">mkVersion</span></a></span><span> </span><span class="annot"><span class="annottext">[Int]
</span><a href="#local-6989586621679687829"><span class="hs-identifier hs-var">version</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">m
</span><a href="#local-6989586621679687828"><span class="hs-identifier hs-var">flags</span></a></span><span>
</span><span id="line-63"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">m
forall a. Monoid a =&gt; a
</span><a href="../../base/src/GHC.Base.html#mempty"><span class="hs-identifier hs-var">mempty</span></a></span><span>
</span><span id="line-64"></span><span>
</span><span id="line-65"></span><span>    </span><span id="local-6989586621679687827"><span class="annot"><a href="#local-6989586621679687826"><span class="hs-identifier hs-type">to</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#Monoid"><span class="hs-identifier hs-type">Monoid</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679687827"><span class="hs-identifier hs-type">m</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679687827"><span class="hs-identifier hs-type">m</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679687827"><span class="hs-identifier hs-type">m</span></a></span></span><span>
</span><span id="line-66"></span><span>    </span><span id="local-6989586621679687826"><span class="annot"><span class="annottext">to :: forall m. Monoid m =&gt; [Int] -&gt; m -&gt; m
</span><a href="#local-6989586621679687826"><span class="hs-identifier hs-var hs-var">to</span></a></span></span><span> </span><span id="local-6989586621679687823"><span class="annot"><span class="annottext">[Int]
</span><a href="#local-6989586621679687823"><span class="hs-identifier hs-var">version</span></a></span></span><span> </span><span id="local-6989586621679687822"><span class="annot"><span class="annottext">m
</span><a href="#local-6989586621679687822"><span class="hs-identifier hs-var">flags</span></a></span></span><span>
</span><span id="line-67"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Version
</span><a href="#local-6989586621679687905"><span class="hs-identifier hs-var">ghcVersion</span></a></span><span> </span><span class="annot"><span class="annottext">Version -&gt; VersionRange -&gt; Bool
</span><a href="Distribution.Types.VersionRange.html#withinRange"><span class="hs-operator hs-var">`withinRange`</span></a></span><span> </span><span class="annot"><span class="annottext">Version -&gt; VersionRange
</span><a href="Distribution.Types.VersionRange.Internal.html#earlierVersion"><span class="hs-identifier hs-var">earlierVersion</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[Int] -&gt; Version
</span><a href="Distribution.Types.Version.html#mkVersion"><span class="hs-identifier hs-var">mkVersion</span></a></span><span> </span><span class="annot"><span class="annottext">[Int]
</span><a href="#local-6989586621679687823"><span class="hs-identifier hs-var">version</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">m
</span><a href="#local-6989586621679687822"><span class="hs-identifier hs-var">flags</span></a></span><span>
</span><span id="line-68"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">m
forall a. Monoid a =&gt; a
</span><a href="../../base/src/GHC.Base.html#mempty"><span class="hs-identifier hs-var">mempty</span></a></span><span>
</span><span id="line-69"></span><span>
</span><span id="line-70"></span><span>    </span><span class="annot"><a href="#local-6989586621679687821"><span class="hs-identifier hs-type">checkGhcFlags</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-keyword">forall</span><span> </span><span id="local-6989586621679688236"><span class="annot"><a href="#local-6989586621679688236"><span class="hs-identifier hs-type">m</span></a></span></span><span> </span><span class="hs-operator">.</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#Monoid"><span class="hs-identifier hs-type">Monoid</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679688236"><span class="hs-identifier hs-type">m</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-special">(</span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679688236"><span class="hs-identifier hs-type">m</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679688236"><span class="hs-identifier hs-type">m</span></a></span><span>
</span><span id="line-71"></span><span>    </span><span id="local-6989586621679687821"><span class="annot"><span class="annottext">checkGhcFlags :: forall m. Monoid m =&gt; ([[Char]] -&gt; m) -&gt; m
</span><a href="#local-6989586621679687821"><span class="hs-identifier hs-var hs-var">checkGhcFlags</span></a></span></span><span> </span><span id="local-6989586621679687818"><span class="annot"><span class="annottext">[[Char]] -&gt; m
</span><a href="#local-6989586621679687818"><span class="hs-identifier hs-var">fun</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[m] -&gt; m
forall a. Monoid a =&gt; [a] -&gt; a
</span><a href="../../base/src/GHC.Base.html#mconcat"><span class="hs-identifier hs-var">mconcat</span></a></span><span>
</span><span id="line-72"></span><span>        </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[[Char]] -&gt; m
</span><a href="#local-6989586621679687818"><span class="hs-identifier hs-var">fun</span></a></span><span> </span><span class="annot"><span class="annottext">[[Char]]
</span><a href="#local-6989586621679687843"><span class="hs-identifier hs-var">ghcArgs</span></a></span><span>
</span><span id="line-73"></span><span>        </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">(Library -&gt; BuildInfo) -&gt; [Library] -&gt; m
forall a. (a -&gt; BuildInfo) -&gt; [a] -&gt; m
</span><a href="#local-6989586621679687817"><span class="hs-identifier hs-var">checkComponentFlags</span></a></span><span> </span><span class="annot"><span class="annottext">Library -&gt; BuildInfo
</span><a href="Distribution.Types.Library.html#libBuildInfo"><span class="hs-identifier hs-var hs-var">libBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">[Library]
</span><a href="#local-6989586621679687815"><span class="hs-identifier hs-var">pkgLibs</span></a></span><span>
</span><span id="line-74"></span><span>        </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">(Executable -&gt; BuildInfo) -&gt; [Executable] -&gt; m
forall a. (a -&gt; BuildInfo) -&gt; [a] -&gt; m
</span><a href="#local-6989586621679687817"><span class="hs-identifier hs-var">checkComponentFlags</span></a></span><span> </span><span class="annot"><span class="annottext">Executable -&gt; BuildInfo
</span><a href="Distribution.Types.Executable.html#buildInfo"><span class="hs-identifier hs-var hs-var">buildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">[Executable]
</span><a href="#local-6989586621679687882"><span class="hs-identifier hs-var">executables</span></a></span><span>
</span><span id="line-75"></span><span>        </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">(TestSuite -&gt; BuildInfo) -&gt; [TestSuite] -&gt; m
forall a. (a -&gt; BuildInfo) -&gt; [a] -&gt; m
</span><a href="#local-6989586621679687817"><span class="hs-identifier hs-var">checkComponentFlags</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite -&gt; BuildInfo
</span><a href="Distribution.Types.TestSuite.html#testBuildInfo"><span class="hs-identifier hs-var hs-var">testBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">[TestSuite]
</span><a href="#local-6989586621679687880"><span class="hs-identifier hs-var">testSuites</span></a></span><span>
</span><span id="line-76"></span><span>        </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">(Benchmark -&gt; BuildInfo) -&gt; [Benchmark] -&gt; m
forall a. (a -&gt; BuildInfo) -&gt; [a] -&gt; m
</span><a href="#local-6989586621679687817"><span class="hs-identifier hs-var">checkComponentFlags</span></a></span><span> </span><span class="annot"><span class="annottext">Benchmark -&gt; BuildInfo
</span><a href="Distribution.Types.Benchmark.html#benchmarkBuildInfo"><span class="hs-identifier hs-var hs-var">benchmarkBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">[Benchmark]
</span><a href="#local-6989586621679687879"><span class="hs-identifier hs-var">benchmarks</span></a></span><span>
</span><span id="line-77"></span><span>        </span><span class="hs-special">]</span><span>
</span><span id="line-78"></span><span>      </span><span class="hs-keyword">where</span><span>
</span><span id="line-79"></span><span>        </span><span id="local-6989586621679687815"><span class="annot"><span class="annottext">pkgLibs :: [Library]
</span><a href="#local-6989586621679687815"><span class="hs-identifier hs-var hs-var">pkgLibs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Maybe Library -&gt; [Library]
forall a. Maybe a -&gt; [a]
</span><a href="../../base/src/Data.Maybe.html#maybeToList"><span class="hs-identifier hs-var">maybeToList</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe Library
</span><a href="#local-6989586621679687884"><span class="hs-identifier hs-var">library</span></a></span><span> </span><span class="annot"><span class="annottext">[Library] -&gt; [Library] -&gt; [Library]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[Library]
</span><a href="#local-6989586621679687883"><span class="hs-identifier hs-var">subLibraries</span></a></span><span>
</span><span id="line-80"></span><span>
</span><span id="line-81"></span><span>        </span><span id="local-6989586621679688233"><span class="annot"><a href="#local-6989586621679687817"><span class="hs-identifier hs-type">checkComponentFlags</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679688233"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.BuildInfo.html#BuildInfo"><span class="hs-identifier hs-type">BuildInfo</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="#local-6989586621679688233"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679688236"><span class="hs-identifier hs-type">m</span></a></span></span><span>
</span><span id="line-82"></span><span>        </span><span id="local-6989586621679687817"><span class="annot"><span class="annottext">checkComponentFlags :: forall a. (a -&gt; BuildInfo) -&gt; [a] -&gt; m
</span><a href="#local-6989586621679687817"><span class="hs-identifier hs-var hs-var">checkComponentFlags</span></a></span></span><span> </span><span id="local-6989586621679687803"><span class="annot"><span class="annottext">a -&gt; BuildInfo
</span><a href="#local-6989586621679687803"><span class="hs-identifier hs-var">getInfo</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(a -&gt; m) -&gt; [a] -&gt; m
forall (t :: * -&gt; *) m a.
(Foldable t, Monoid m) =&gt;
(a -&gt; m) -&gt; t a -&gt; m
</span><a href="../../base/src/Data.Foldable.html#foldMap"><span class="hs-identifier hs-var">foldMap</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">BuildInfo -&gt; m
</span><a href="#local-6989586621679687801"><span class="hs-identifier hs-var">checkComponent</span></a></span><span> </span><span class="annot"><span class="annottext">(BuildInfo -&gt; m) -&gt; (a -&gt; BuildInfo) -&gt; a -&gt; m
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; BuildInfo
</span><a href="#local-6989586621679687803"><span class="hs-identifier hs-var">getInfo</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-83"></span><span>          </span><span class="hs-keyword">where</span><span>
</span><span id="line-84"></span><span>            </span><span class="annot"><a href="#local-6989586621679687801"><span class="hs-identifier hs-type">checkComponent</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.BuildInfo.html#BuildInfo"><span class="hs-identifier hs-type">BuildInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679688236"><span class="hs-identifier hs-type">m</span></a></span><span>
</span><span id="line-85"></span><span>            </span><span id="local-6989586621679687801"><span class="annot"><span class="annottext">checkComponent :: BuildInfo -&gt; m
</span><a href="#local-6989586621679687801"><span class="hs-identifier hs-var hs-var">checkComponent</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">([[Char]] -&gt; m) -&gt; [[[Char]]] -&gt; m
forall (t :: * -&gt; *) m a.
(Foldable t, Monoid m) =&gt;
(a -&gt; m) -&gt; t a -&gt; m
</span><a href="../../base/src/Data.Foldable.html#foldMap"><span class="hs-identifier hs-var">foldMap</span></a></span><span> </span><span class="annot"><span class="annottext">[[Char]] -&gt; m
</span><a href="#local-6989586621679687818"><span class="hs-identifier hs-var">fun</span></a></span><span> </span><span class="annot"><span class="annottext">([[[Char]]] -&gt; m) -&gt; (BuildInfo -&gt; [[[Char]]]) -&gt; BuildInfo -&gt; m
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">[(CompilerFlavor, [[Char]])] -&gt; [[[Char]]]
</span><a href="#local-6989586621679687800"><span class="hs-identifier hs-var">filterGhcOptions</span></a></span><span> </span><span class="annot"><span class="annottext">([(CompilerFlavor, [[Char]])] -&gt; [[[Char]]])
-&gt; (BuildInfo -&gt; [(CompilerFlavor, [[Char]])])
-&gt; BuildInfo
-&gt; [[[Char]]]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; [(CompilerFlavor, [[Char]])]
</span><a href="#local-6989586621679687799"><span class="hs-identifier hs-var">allGhcOptions</span></a></span><span>
</span><span id="line-86"></span><span>
</span><span id="line-87"></span><span>            </span><span class="annot"><a href="#local-6989586621679687799"><span class="hs-identifier hs-type">allGhcOptions</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.BuildInfo.html#BuildInfo"><span class="hs-identifier hs-type">BuildInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Compiler.html#CompilerFlavor"><span class="hs-identifier hs-type">CompilerFlavor</span></a></span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><span id="line-88"></span><span>            </span><span id="local-6989586621679687799"><span class="annot"><span class="annottext">allGhcOptions :: BuildInfo -&gt; [(CompilerFlavor, [[Char]])]
</span><a href="#local-6989586621679687799"><span class="hs-identifier hs-var hs-var">allGhcOptions</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">((BuildInfo -&gt; PerCompilerFlavor [[Char]])
 -&gt; BuildInfo -&gt; [(CompilerFlavor, [[Char]])])
-&gt; [BuildInfo -&gt; PerCompilerFlavor [[Char]]]
-&gt; BuildInfo
-&gt; [(CompilerFlavor, [[Char]])]
forall (t :: * -&gt; *) m a.
(Foldable t, Monoid m) =&gt;
(a -&gt; m) -&gt; t a -&gt; m
</span><a href="../../base/src/Data.Foldable.html#foldMap"><span class="hs-identifier hs-var">foldMap</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PerCompilerFlavor [[Char]] -&gt; [(CompilerFlavor, [[Char]])]
forall v. PerCompilerFlavor v -&gt; [(CompilerFlavor, v)]
</span><a href="Distribution.Compiler.html#perCompilerFlavorToList"><span class="hs-identifier hs-var">perCompilerFlavorToList</span></a></span><span> </span><span class="annot"><span class="annottext">(PerCompilerFlavor [[Char]] -&gt; [(CompilerFlavor, [[Char]])])
-&gt; (BuildInfo -&gt; PerCompilerFlavor [[Char]])
-&gt; BuildInfo
-&gt; [(CompilerFlavor, [[Char]])]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-89"></span><span>                </span><span class="hs-special">[</span><span class="annot"><span class="annottext">BuildInfo -&gt; PerCompilerFlavor [[Char]]
</span><a href="Distribution.Types.BuildInfo.html#options"><span class="hs-identifier hs-var hs-var">options</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; PerCompilerFlavor [[Char]]
</span><a href="Distribution.Types.BuildInfo.html#profOptions"><span class="hs-identifier hs-var hs-var">profOptions</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; PerCompilerFlavor [[Char]]
</span><a href="Distribution.Types.BuildInfo.html#sharedOptions"><span class="hs-identifier hs-var hs-var">sharedOptions</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; PerCompilerFlavor [[Char]]
</span><a href="Distribution.Types.BuildInfo.html#staticOptions"><span class="hs-identifier hs-var hs-var">staticOptions</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-90"></span><span>
</span><span id="line-91"></span><span>            </span><span class="annot"><a href="#local-6989586621679687800"><span class="hs-identifier hs-type">filterGhcOptions</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Compiler.html#CompilerFlavor"><span class="hs-identifier hs-type">CompilerFlavor</span></a></span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span class="hs-special">)</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span class="hs-special">]</span><span>
</span><span id="line-92"></span><span>            </span><span id="local-6989586621679687800"><span class="annot"><span class="annottext">filterGhcOptions :: [(CompilerFlavor, [[Char]])] -&gt; [[[Char]]]
</span><a href="#local-6989586621679687800"><span class="hs-identifier hs-var hs-var">filterGhcOptions</span></a></span></span><span> </span><span id="local-6989586621679687793"><span class="annot"><span class="annottext">[(CompilerFlavor, [[Char]])]
</span><a href="#local-6989586621679687793"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[[Char]]
</span><a href="#local-6989586621679687792"><span class="hs-identifier hs-var">opts</span></a></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHC"><span class="hs-identifier hs-var">GHC</span></a></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679687792"><span class="annot"><span class="annottext">[[Char]]
</span><a href="#local-6989586621679687792"><span class="hs-identifier hs-var">opts</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">[(CompilerFlavor, [[Char]])]
</span><a href="#local-6989586621679687793"><span class="hs-identifier hs-var">l</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-93"></span><span>
</span><span id="line-94"></span><span>    </span><span class="annot"><a href="#local-6989586621679687790"><span class="hs-identifier hs-type">safeToFilterWarnings</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-95"></span><span>    </span><span id="local-6989586621679687790"><span class="annot"><span class="annottext">safeToFilterWarnings :: Bool
</span><a href="#local-6989586621679687790"><span class="hs-identifier hs-var hs-var">safeToFilterWarnings</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">All -&gt; Bool
</span><a href="../../base/src/Data.Semigroup.Internal.html#getAll"><span class="hs-identifier hs-var hs-var">getAll</span></a></span><span> </span><span class="annot"><span class="annottext">(All -&gt; Bool) -&gt; All -&gt; Bool
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">([[Char]] -&gt; All) -&gt; All
forall m. Monoid m =&gt; ([[Char]] -&gt; m) -&gt; m
</span><a href="#local-6989586621679687821"><span class="hs-identifier hs-var">checkGhcFlags</span></a></span><span> </span><span class="annot"><span class="annottext">[[Char]] -&gt; All
</span><a href="#local-6989586621679687788"><span class="hs-identifier hs-var">checkWarnings</span></a></span><span>
</span><span id="line-96"></span><span>      </span><span class="hs-keyword">where</span><span>
</span><span id="line-97"></span><span>        </span><span class="annot"><a href="#local-6989586621679687788"><span class="hs-identifier hs-type">checkWarnings</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/Data.Semigroup.Internal.html#All"><span class="hs-identifier hs-type">All</span></a></span><span>
</span><span id="line-98"></span><span>        </span><span id="local-6989586621679687788"><span class="annot"><span class="annottext">checkWarnings :: [[Char]] -&gt; All
</span><a href="#local-6989586621679687788"><span class="hs-identifier hs-var hs-var">checkWarnings</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; All
</span><a href="../../base/src/Data.Semigroup.Internal.html#All"><span class="hs-identifier hs-var">All</span></a></span><span> </span><span class="annot"><span class="annottext">(Bool -&gt; All) -&gt; ([[Char]] -&gt; Bool) -&gt; [[Char]] -&gt; All
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">Set [Char] -&gt; Bool
forall a. Set a -&gt; Bool
</span><a href="../../containers/src/Data.Set.Internal.html#null"><span class="hs-identifier hs-var">Set.null</span></a></span><span> </span><span class="annot"><span class="annottext">(Set [Char] -&gt; Bool)
-&gt; ([[Char]] -&gt; Set [Char]) -&gt; [[Char]] -&gt; Bool
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">([Char] -&gt; Set [Char] -&gt; Set [Char])
-&gt; Set [Char] -&gt; [[Char]] -&gt; Set [Char]
forall (t :: * -&gt; *) a b.
Foldable t =&gt;
(a -&gt; b -&gt; b) -&gt; b -&gt; t a -&gt; b
</span><a href="../../base/src/Data.Foldable.html#foldr"><span class="hs-identifier hs-var">foldr</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; Set [Char] -&gt; Set [Char]
</span><a href="#local-6989586621679687784"><span class="hs-identifier hs-var">alter</span></a></span><span> </span><span class="annot"><span class="annottext">Set [Char]
forall a. Set a
</span><a href="../../containers/src/Data.Set.Internal.html#empty"><span class="hs-identifier hs-var">Set.empty</span></a></span><span>
</span><span id="line-99"></span><span>
</span><span id="line-100"></span><span>        </span><span class="annot"><a href="#local-6989586621679687784"><span class="hs-identifier hs-type">alter</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../containers/src/Data.Set.Internal.html#Set"><span class="hs-identifier hs-type">Set</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../containers/src/Data.Set.Internal.html#Set"><span class="hs-identifier hs-type">Set</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-101"></span><span>        </span><span id="local-6989586621679687784"><span class="annot"><span class="annottext">alter :: [Char] -&gt; Set [Char] -&gt; Set [Char]
</span><a href="#local-6989586621679687784"><span class="hs-identifier hs-var hs-var">alter</span></a></span></span><span> </span><span id="local-6989586621679687782"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687782"><span class="hs-identifier hs-var">flag</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Endo (Set [Char]) -&gt; Set [Char] -&gt; Set [Char]
forall a. Endo a -&gt; a -&gt; a
</span><a href="../../base/src/Data.Semigroup.Internal.html#appEndo"><span class="hs-identifier hs-var hs-var">appEndo</span></a></span><span> </span><span class="annot"><span class="annottext">(Endo (Set [Char]) -&gt; Set [Char] -&gt; Set [Char])
-&gt; Endo (Set [Char]) -&gt; Set [Char] -&gt; Set [Char]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">[[Char] -&gt; Endo (Set [Char])] -&gt; [Char] -&gt; Endo (Set [Char])
forall a. Monoid a =&gt; [a] -&gt; a
</span><a href="../../base/src/GHC.Base.html#mconcat"><span class="hs-identifier hs-var">mconcat</span></a></span><span>
</span><span id="line-102"></span><span>            </span><span class="hs-special">[</span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679687780"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687780"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">(Set [Char] -&gt; Set [Char]) -&gt; Endo (Set [Char])
forall a. (a -&gt; a) -&gt; Endo a
</span><a href="../../base/src/Data.Semigroup.Internal.html#Endo"><span class="hs-identifier hs-var">Endo</span></a></span><span> </span><span class="annot"><span class="annottext">((Set [Char] -&gt; Set [Char]) -&gt; Endo (Set [Char]))
-&gt; (Set [Char] -&gt; Set [Char]) -&gt; Endo (Set [Char])
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687780"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-Werror&quot;</span></span><span> </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; Set [Char] -&gt; Set [Char]
forall a. Ord a =&gt; a -&gt; Set a -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#insert"><span class="hs-identifier hs-var">Set.insert</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687780"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">Set [Char] -&gt; Set [Char]
forall a. a -&gt; a
</span><a href="../../base/src/GHC.Base.html#id"><span class="hs-identifier hs-var">id</span></a></span><span>
</span><span id="line-103"></span><span>            </span><span class="hs-special">,</span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679687776"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687776"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">(Set [Char] -&gt; Set [Char]) -&gt; Endo (Set [Char])
forall a. (a -&gt; a) -&gt; Endo a
</span><a href="../../base/src/Data.Semigroup.Internal.html#Endo"><span class="hs-identifier hs-var">Endo</span></a></span><span> </span><span class="annot"><span class="annottext">((Set [Char] -&gt; Set [Char]) -&gt; Endo (Set [Char]))
-&gt; (Set [Char] -&gt; Set [Char]) -&gt; Endo (Set [Char])
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687776"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-Wwarn&quot;</span></span><span> </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">Set [Char] -&gt; Set [Char] -&gt; Set [Char]
forall a b. a -&gt; b -&gt; a
</span><a href="../../base/src/GHC.Base.html#const"><span class="hs-identifier hs-var">const</span></a></span><span> </span><span class="annot"><span class="annottext">Set [Char]
forall a. Set a
</span><a href="../../containers/src/Data.Set.Internal.html#empty"><span class="hs-identifier hs-var">Set.empty</span></a></span><span> </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">Set [Char] -&gt; Set [Char]
forall a. a -&gt; a
</span><a href="../../base/src/GHC.Base.html#id"><span class="hs-identifier hs-var">id</span></a></span><span>
</span><span id="line-104"></span><span>            </span><span class="hs-special">,</span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679687774"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687774"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; Endo (Set [Char]) -&gt; Endo (Set [Char])
forall m. Monoid m =&gt; [Int] -&gt; m -&gt; m
</span><a href="#local-6989586621679687832"><span class="hs-identifier hs-var">from</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">6</span></span><span class="hs-special">]</span><span> </span><span class="annot"><span class="annottext">(Endo (Set [Char]) -&gt; Endo (Set [Char]))
-&gt; ((Set [Char] -&gt; Set [Char]) -&gt; Endo (Set [Char]))
-&gt; (Set [Char] -&gt; Set [Char])
-&gt; Endo (Set [Char])
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">(Set [Char] -&gt; Set [Char]) -&gt; Endo (Set [Char])
forall a. (a -&gt; a) -&gt; Endo a
</span><a href="../../base/src/Data.Semigroup.Internal.html#Endo"><span class="hs-identifier hs-var">Endo</span></a></span><span> </span><span class="annot"><span class="annottext">((Set [Char] -&gt; Set [Char]) -&gt; Endo (Set [Char]))
-&gt; (Set [Char] -&gt; Set [Char]) -&gt; Endo (Set [Char])
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-105"></span><span>                    </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687774"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-Werror=compat&quot;</span></span><span>
</span><span id="line-106"></span><span>                    </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">Set [Char] -&gt; Set [Char] -&gt; Set [Char]
forall a. Ord a =&gt; Set a -&gt; Set a -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#union"><span class="hs-identifier hs-var">Set.union</span></a></span><span> </span><span class="annot"><span class="annottext">Set [Char]
</span><a href="#local-6989586621679687772"><span class="hs-identifier hs-var">compatWarningSet</span></a></span><span> </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">Set [Char] -&gt; Set [Char]
forall a. a -&gt; a
</span><a href="../../base/src/GHC.Base.html#id"><span class="hs-identifier hs-var">id</span></a></span><span>
</span><span id="line-107"></span><span>            </span><span class="hs-special">,</span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679687771"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687771"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; Endo (Set [Char]) -&gt; Endo (Set [Char])
forall m. Monoid m =&gt; [Int] -&gt; m -&gt; m
</span><a href="#local-6989586621679687832"><span class="hs-identifier hs-var">from</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">6</span></span><span class="hs-special">]</span><span> </span><span class="annot"><span class="annottext">(Endo (Set [Char]) -&gt; Endo (Set [Char]))
-&gt; ((Set [Char] -&gt; Set [Char]) -&gt; Endo (Set [Char]))
-&gt; (Set [Char] -&gt; Set [Char])
-&gt; Endo (Set [Char])
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">(Set [Char] -&gt; Set [Char]) -&gt; Endo (Set [Char])
forall a. (a -&gt; a) -&gt; Endo a
</span><a href="../../base/src/Data.Semigroup.Internal.html#Endo"><span class="hs-identifier hs-var">Endo</span></a></span><span> </span><span class="annot"><span class="annottext">((Set [Char] -&gt; Set [Char]) -&gt; Endo (Set [Char]))
-&gt; (Set [Char] -&gt; Set [Char]) -&gt; Endo (Set [Char])
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-108"></span><span>                    </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687771"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-Wno-error=compat&quot;</span></span><span>
</span><span id="line-109"></span><span>                    </span><span class="hs-keyword">then</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Set [Char] -&gt; Set [Char] -&gt; Set [Char]
forall a. Ord a =&gt; Set a -&gt; Set a -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#difference"><span class="hs-operator hs-var">`Set.difference`</span></a></span><span> </span><span class="annot"><span class="annottext">Set [Char]
</span><a href="#local-6989586621679687772"><span class="hs-identifier hs-var">compatWarningSet</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">Set [Char] -&gt; Set [Char]
forall a. a -&gt; a
</span><a href="../../base/src/GHC.Base.html#id"><span class="hs-identifier hs-var">id</span></a></span><span>
</span><span id="line-110"></span><span>            </span><span class="hs-special">,</span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679687769"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687769"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; Endo (Set [Char]) -&gt; Endo (Set [Char])
forall m. Monoid m =&gt; [Int] -&gt; m -&gt; m
</span><a href="#local-6989586621679687832"><span class="hs-identifier hs-var">from</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">6</span></span><span class="hs-special">]</span><span> </span><span class="annot"><span class="annottext">(Endo (Set [Char]) -&gt; Endo (Set [Char]))
-&gt; ((Set [Char] -&gt; Set [Char]) -&gt; Endo (Set [Char]))
-&gt; (Set [Char] -&gt; Set [Char])
-&gt; Endo (Set [Char])
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">(Set [Char] -&gt; Set [Char]) -&gt; Endo (Set [Char])
forall a. (a -&gt; a) -&gt; Endo a
</span><a href="../../base/src/Data.Semigroup.Internal.html#Endo"><span class="hs-identifier hs-var">Endo</span></a></span><span> </span><span class="annot"><span class="annottext">((Set [Char] -&gt; Set [Char]) -&gt; Endo (Set [Char]))
-&gt; (Set [Char] -&gt; Set [Char]) -&gt; Endo (Set [Char])
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-111"></span><span>                    </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687769"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-Wwarn=compat&quot;</span></span><span>
</span><span id="line-112"></span><span>                    </span><span class="hs-keyword">then</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Set [Char] -&gt; Set [Char] -&gt; Set [Char]
forall a. Ord a =&gt; Set a -&gt; Set a -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#difference"><span class="hs-operator hs-var">`Set.difference`</span></a></span><span> </span><span class="annot"><span class="annottext">Set [Char]
</span><a href="#local-6989586621679687772"><span class="hs-identifier hs-var">compatWarningSet</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">Set [Char] -&gt; Set [Char]
forall a. a -&gt; a
</span><a href="../../base/src/GHC.Base.html#id"><span class="hs-identifier hs-var">id</span></a></span><span>
</span><span id="line-113"></span><span>            </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Int]
-&gt; ([Char] -&gt; Endo (Set [Char])) -&gt; [Char] -&gt; Endo (Set [Char])
forall m. Monoid m =&gt; [Int] -&gt; m -&gt; m
</span><a href="#local-6989586621679687832"><span class="hs-identifier hs-var">from</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">4</span></span><span class="hs-special">]</span><span> </span><span class="annot"><span class="annottext">(([Char] -&gt; Endo (Set [Char])) -&gt; [Char] -&gt; Endo (Set [Char]))
-&gt; ([Char] -&gt; Endo (Set [Char])) -&gt; [Char] -&gt; Endo (Set [Char])
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
-&gt; ([Char] -&gt; Set [Char] -&gt; Set [Char])
-&gt; [Char]
-&gt; Endo (Set [Char])
</span><a href="#local-6989586621679687768"><span class="hs-identifier hs-var">markFlag</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-Werror=&quot;</span></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; Set [Char] -&gt; Set [Char]
forall a. Ord a =&gt; a -&gt; Set a -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#insert"><span class="hs-identifier hs-var">Set.insert</span></a></span><span>
</span><span id="line-114"></span><span>            </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Int]
-&gt; ([Char] -&gt; Endo (Set [Char])) -&gt; [Char] -&gt; Endo (Set [Char])
forall m. Monoid m =&gt; [Int] -&gt; m -&gt; m
</span><a href="#local-6989586621679687832"><span class="hs-identifier hs-var">from</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">4</span></span><span class="hs-special">]</span><span> </span><span class="annot"><span class="annottext">(([Char] -&gt; Endo (Set [Char])) -&gt; [Char] -&gt; Endo (Set [Char]))
-&gt; ([Char] -&gt; Endo (Set [Char])) -&gt; [Char] -&gt; Endo (Set [Char])
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
-&gt; ([Char] -&gt; Set [Char] -&gt; Set [Char])
-&gt; [Char]
-&gt; Endo (Set [Char])
</span><a href="#local-6989586621679687768"><span class="hs-identifier hs-var">markFlag</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-Wwarn=&quot;</span></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; Set [Char] -&gt; Set [Char]
forall a. Ord a =&gt; a -&gt; Set a -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#delete"><span class="hs-identifier hs-var">Set.delete</span></a></span><span>
</span><span id="line-115"></span><span>            </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Int]
-&gt; ([Char] -&gt; Endo (Set [Char])) -&gt; [Char] -&gt; Endo (Set [Char])
forall m. Monoid m =&gt; [Int] -&gt; m -&gt; m
</span><a href="#local-6989586621679687832"><span class="hs-identifier hs-var">from</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">4</span></span><span class="hs-special">]</span><span> </span><span class="annot"><span class="annottext">(([Char] -&gt; Endo (Set [Char])) -&gt; [Char] -&gt; Endo (Set [Char]))
-&gt; ([Char] -&gt; Endo (Set [Char])) -&gt; [Char] -&gt; Endo (Set [Char])
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
-&gt; ([Char] -&gt; Set [Char] -&gt; Set [Char])
-&gt; [Char]
-&gt; Endo (Set [Char])
</span><a href="#local-6989586621679687768"><span class="hs-identifier hs-var">markFlag</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-Wno-error=&quot;</span></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; Set [Char] -&gt; Set [Char]
forall a. Ord a =&gt; a -&gt; Set a -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#delete"><span class="hs-identifier hs-var">Set.delete</span></a></span><span>
</span><span id="line-116"></span><span>            </span><span class="hs-special">]</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687782"><span class="hs-identifier hs-var">flag</span></a></span><span>
</span><span id="line-117"></span><span>
</span><span id="line-118"></span><span>        </span><span class="annot"><a href="#local-6989586621679687768"><span class="hs-identifier hs-type">markFlag</span></a></span><span>
</span><span id="line-119"></span><span>            </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-120"></span><span>            </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../containers/src/Data.Set.Internal.html#Set"><span class="hs-identifier hs-type">Set</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../containers/src/Data.Set.Internal.html#Set"><span class="hs-identifier hs-type">Set</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-121"></span><span>            </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-122"></span><span>            </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/Data.Semigroup.Internal.html#Endo"><span class="hs-identifier hs-type">Endo</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../containers/src/Data.Set.Internal.html#Set"><span class="hs-identifier hs-type">Set</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-123"></span><span>        </span><span id="local-6989586621679687768"><span class="annot"><span class="annottext">markFlag :: [Char]
-&gt; ([Char] -&gt; Set [Char] -&gt; Set [Char])
-&gt; [Char]
-&gt; Endo (Set [Char])
</span><a href="#local-6989586621679687768"><span class="hs-identifier hs-var hs-var">markFlag</span></a></span></span><span> </span><span id="local-6989586621679687766"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687766"><span class="hs-identifier hs-var">name</span></a></span></span><span> </span><span id="local-6989586621679687765"><span class="annot"><span class="annottext">[Char] -&gt; Set [Char] -&gt; Set [Char]
</span><a href="#local-6989586621679687765"><span class="hs-identifier hs-var">update</span></a></span></span><span> </span><span id="local-6989586621679687764"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687764"><span class="hs-identifier hs-var">flag</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Set [Char] -&gt; Set [Char]) -&gt; Endo (Set [Char])
forall a. (a -&gt; a) -&gt; Endo a
</span><a href="../../base/src/Data.Semigroup.Internal.html#Endo"><span class="hs-identifier hs-var">Endo</span></a></span><span> </span><span class="annot"><span class="annottext">((Set [Char] -&gt; Set [Char]) -&gt; Endo (Set [Char]))
-&gt; (Set [Char] -&gt; Set [Char]) -&gt; Endo (Set [Char])
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; Maybe [Char]
forall a. Eq a =&gt; [a] -&gt; [a] -&gt; Maybe [a]
</span><a href="../../base/src/Data.OldList.html#stripPrefix"><span class="hs-identifier hs-var">stripPrefix</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687766"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687764"><span class="hs-identifier hs-var">flag</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-124"></span><span>            </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621679687763"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687763"><span class="hs-identifier hs-var">rest</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool
</span><span class="hs-identifier hs-var">not</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[Char] -&gt; Bool
forall (t :: * -&gt; *) a. Foldable t =&gt; t a -&gt; Bool
</span><a href="../../base/src/Data.Foldable.html#null"><span class="hs-identifier hs-var">null</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687763"><span class="hs-identifier hs-var">rest</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">&amp;&amp;</span></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687763"><span class="hs-identifier hs-var">rest</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">/=</span></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;compat&quot;</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; Set [Char] -&gt; Set [Char]
</span><a href="#local-6989586621679687765"><span class="hs-identifier hs-var">update</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687763"><span class="hs-identifier hs-var">rest</span></a></span><span>
</span><span id="line-125"></span><span>            </span><span class="annot"><span class="annottext">Maybe [Char]
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Set [Char] -&gt; Set [Char]
forall a. a -&gt; a
</span><a href="../../base/src/GHC.Base.html#id"><span class="hs-identifier hs-var">id</span></a></span><span>
</span><span id="line-126"></span><span>
</span><span id="line-127"></span><span>    </span><span class="annot"><a href="#local-6989586621679687758"><span class="hs-identifier hs-type">flagArgumentFilter</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-128"></span><span>    </span><span id="local-6989586621679687758"><span class="annot"><span class="annottext">flagArgumentFilter :: [[Char]] -&gt; [[Char]] -&gt; [[Char]]
</span><a href="#local-6989586621679687758"><span class="hs-identifier hs-var hs-var">flagArgumentFilter</span></a></span></span><span> </span><span id="local-6989586621679687757"><span class="annot"><span class="annottext">[[Char]]
</span><a href="#local-6989586621679687757"><span class="hs-identifier hs-var">flags</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[[Char]] -&gt; [[Char]]
</span><a href="#local-6989586621679687756"><span class="hs-identifier hs-var">go</span></a></span><span>
</span><span id="line-129"></span><span>      </span><span class="hs-keyword">where</span><span>
</span><span id="line-130"></span><span>        </span><span class="annot"><a href="#local-6989586621679687755"><span class="hs-identifier hs-type">makeFilter</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Compat.Semigroup.html#Option%27"><span class="hs-identifier hs-type">Option'</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Compat.Semigroup.html#First%27"><span class="hs-identifier hs-type">First'</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-131"></span><span>        </span><span id="local-6989586621679687755"><span class="annot"><span class="annottext">makeFilter :: [Char] -&gt; [Char] -&gt; Option' (First' ([[Char]] -&gt; [[Char]]))
</span><a href="#local-6989586621679687755"><span class="hs-identifier hs-var hs-var">makeFilter</span></a></span></span><span> </span><span id="local-6989586621679687754"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687754"><span class="hs-identifier hs-var">flag</span></a></span></span><span> </span><span id="local-6989586621679687753"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687753"><span class="hs-identifier hs-var">arg</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Maybe (First' ([[Char]] -&gt; [[Char]]))
-&gt; Option' (First' ([[Char]] -&gt; [[Char]]))
forall a. Maybe a -&gt; Option' a
</span><a href="Distribution.Compat.Semigroup.html#Option%27"><span class="hs-identifier hs-var">Option'</span></a></span><span> </span><span class="annot"><span class="annottext">(Maybe (First' ([[Char]] -&gt; [[Char]]))
 -&gt; Option' (First' ([[Char]] -&gt; [[Char]])))
-&gt; Maybe (First' ([[Char]] -&gt; [[Char]]))
-&gt; Option' (First' ([[Char]] -&gt; [[Char]]))
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">([[Char]] -&gt; [[Char]]) -&gt; First' ([[Char]] -&gt; [[Char]])
forall a. a -&gt; First' a
</span><a href="Distribution.Compat.Semigroup.html#First%27"><span class="hs-identifier hs-var">First'</span></a></span><span> </span><span class="annot"><span class="annottext">(([[Char]] -&gt; [[Char]]) -&gt; First' ([[Char]] -&gt; [[Char]]))
-&gt; ([Char] -&gt; [[Char]] -&gt; [[Char]])
-&gt; [Char]
-&gt; First' ([[Char]] -&gt; [[Char]])
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [[Char]] -&gt; [[Char]]
forall {a}. [Char] -&gt; [a] -&gt; [a]
</span><a href="#local-6989586621679687750"><span class="hs-identifier hs-var">filterRest</span></a></span><span> </span><span class="annot"><span class="annottext">([Char] -&gt; First' ([[Char]] -&gt; [[Char]]))
-&gt; Maybe [Char] -&gt; Maybe (First' ([[Char]] -&gt; [[Char]]))
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/Data.Functor.html#%3C%24%3E"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; Maybe [Char]
forall a. Eq a =&gt; [a] -&gt; [a] -&gt; Maybe [a]
</span><a href="../../base/src/Data.OldList.html#stripPrefix"><span class="hs-identifier hs-var">stripPrefix</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687754"><span class="hs-identifier hs-var">flag</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687753"><span class="hs-identifier hs-var">arg</span></a></span><span>
</span><span id="line-132"></span><span>          </span><span class="hs-keyword">where</span><span>
</span><span id="line-133"></span><span>            </span><span id="local-6989586621679687750"><span class="annot"><span class="annottext">filterRest :: [Char] -&gt; [a] -&gt; [a]
</span><a href="#local-6989586621679687750"><span class="hs-identifier hs-var hs-var">filterRest</span></a></span></span><span> </span><span id="local-6989586621679687748"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687748"><span class="hs-identifier hs-var">leftOver</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char]
</span><a href="#local-6989586621679687747"><span class="hs-identifier hs-var">dropEq</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687748"><span class="hs-identifier hs-var">leftOver</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-134"></span><span>                </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int -&gt; [a] -&gt; [a]
forall a. Int -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.List.html#drop"><span class="hs-identifier hs-var">drop</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span>
</span><span id="line-135"></span><span>                </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[a] -&gt; [a]
forall a. a -&gt; a
</span><a href="../../base/src/GHC.Base.html#id"><span class="hs-identifier hs-var">id</span></a></span><span>
</span><span id="line-136"></span><span>
</span><span id="line-137"></span><span>        </span><span class="annot"><a href="#local-6989586621679687745"><span class="hs-identifier hs-type">checkFilter</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span class="hs-special">)</span><span>
</span><span id="line-138"></span><span>        </span><span id="local-6989586621679687745"><span class="annot"><span class="annottext">checkFilter :: [Char] -&gt; Maybe ([[Char]] -&gt; [[Char]])
</span><a href="#local-6989586621679687745"><span class="hs-identifier hs-var hs-var">checkFilter</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(First' ([[Char]] -&gt; [[Char]]) -&gt; [[Char]] -&gt; [[Char]])
-&gt; Maybe (First' ([[Char]] -&gt; [[Char]]))
-&gt; Maybe ([[Char]] -&gt; [[Char]])
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="annot"><span class="annottext">First' ([[Char]] -&gt; [[Char]]) -&gt; [[Char]] -&gt; [[Char]]
forall a. First' a -&gt; a
</span><a href="Distribution.Compat.Semigroup.html#getFirst%27"><span class="hs-identifier hs-var hs-var">getFirst'</span></a></span><span> </span><span class="annot"><span class="annottext">(Maybe (First' ([[Char]] -&gt; [[Char]]))
 -&gt; Maybe ([[Char]] -&gt; [[Char]]))
-&gt; ([Char] -&gt; Maybe (First' ([[Char]] -&gt; [[Char]])))
-&gt; [Char]
-&gt; Maybe ([[Char]] -&gt; [[Char]])
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">Option' (First' ([[Char]] -&gt; [[Char]]))
-&gt; Maybe (First' ([[Char]] -&gt; [[Char]]))
forall a. Option' a -&gt; Maybe a
</span><a href="Distribution.Compat.Semigroup.html#getOption%27"><span class="hs-identifier hs-var hs-var">getOption'</span></a></span><span> </span><span class="annot"><span class="annottext">(Option' (First' ([[Char]] -&gt; [[Char]]))
 -&gt; Maybe (First' ([[Char]] -&gt; [[Char]])))
-&gt; ([Char] -&gt; Option' (First' ([[Char]] -&gt; [[Char]])))
-&gt; [Char]
-&gt; Maybe (First' ([[Char]] -&gt; [[Char]]))
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">([Char] -&gt; [Char] -&gt; Option' (First' ([[Char]] -&gt; [[Char]])))
-&gt; [[Char]] -&gt; [Char] -&gt; Option' (First' ([[Char]] -&gt; [[Char]]))
forall (t :: * -&gt; *) m a.
(Foldable t, Monoid m) =&gt;
(a -&gt; m) -&gt; t a -&gt; m
</span><a href="../../base/src/Data.Foldable.html#foldMap"><span class="hs-identifier hs-var">foldMap</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; Option' (First' ([[Char]] -&gt; [[Char]]))
</span><a href="#local-6989586621679687755"><span class="hs-identifier hs-var">makeFilter</span></a></span><span> </span><span class="annot"><span class="annottext">[[Char]]
</span><a href="#local-6989586621679687757"><span class="hs-identifier hs-var">flags</span></a></span><span>
</span><span id="line-139"></span><span>
</span><span id="line-140"></span><span>        </span><span class="annot"><a href="#local-6989586621679687756"><span class="hs-identifier hs-type">go</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-141"></span><span>        </span><span id="local-6989586621679687756"><span class="annot"><span class="annottext">go :: [[Char]] -&gt; [[Char]]
</span><a href="#local-6989586621679687756"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-142"></span><span>        </span><span class="annot"><a href="#local-6989586621679687756"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span id="local-6989586621679687742"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687742"><span class="hs-identifier hs-var">arg</span></a></span></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span id="local-6989586621679687741"><span class="annot"><span class="annottext">[[Char]]
</span><a href="#local-6989586621679687741"><span class="hs-identifier hs-var">args</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; Maybe ([[Char]] -&gt; [[Char]])
</span><a href="#local-6989586621679687745"><span class="hs-identifier hs-var">checkFilter</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687742"><span class="hs-identifier hs-var">arg</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-143"></span><span>            </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621679687740"><span class="annot"><span class="annottext">[[Char]] -&gt; [[Char]]
</span><a href="#local-6989586621679687740"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[[Char]] -&gt; [[Char]]
</span><a href="#local-6989586621679687756"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[[Char]] -&gt; [[Char]]
</span><a href="#local-6989586621679687740"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">[[Char]]
</span><a href="#local-6989586621679687741"><span class="hs-identifier hs-var">args</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-144"></span><span>            </span><span class="annot"><span class="annottext">Maybe ([[Char]] -&gt; [[Char]])
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687742"><span class="hs-identifier hs-var">arg</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [[Char]] -&gt; [[Char]]
forall a. a -&gt; [a] -&gt; [a]
</span><span class="hs-glyph hs-var">:</span></span><span> </span><span class="annot"><span class="annottext">[[Char]] -&gt; [[Char]]
</span><a href="#local-6989586621679687756"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="annot"><span class="annottext">[[Char]]
</span><a href="#local-6989586621679687741"><span class="hs-identifier hs-var">args</span></a></span><span>
</span><span id="line-145"></span><span>
</span><span id="line-146"></span><span>    </span><span class="annot"><a href="#local-6989586621679687840"><span class="hs-identifier hs-type">argumentFilters</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-147"></span><span>    </span><span id="local-6989586621679687840"><span class="annot"><span class="annottext">argumentFilters :: [[Char]] -&gt; [[Char]]
</span><a href="#local-6989586621679687840"><span class="hs-identifier hs-var hs-var">argumentFilters</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[[Char]] -&gt; [[Char]] -&gt; [[Char]]
</span><a href="#local-6989586621679687758"><span class="hs-identifier hs-var">flagArgumentFilter</span></a></span><span>
</span><span id="line-148"></span><span>        </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-ghci-script&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-H&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-interactive-print&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-149"></span><span>
</span><span id="line-150"></span><span>    </span><span class="annot"><a href="#local-6989586621679687837"><span class="hs-identifier hs-type">filterRtsOpts</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-151"></span><span>    </span><span id="local-6989586621679687837"><span class="annot"><span class="annottext">filterRtsOpts :: [[Char]] -&gt; [[Char]]
</span><a href="#local-6989586621679687837"><span class="hs-identifier hs-var hs-var">filterRtsOpts</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; [[Char]] -&gt; [[Char]]
</span><a href="#local-6989586621679687739"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-152"></span><span>      </span><span class="hs-keyword">where</span><span>
</span><span id="line-153"></span><span>        </span><span class="annot"><a href="#local-6989586621679687739"><span class="hs-identifier hs-type">go</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-154"></span><span>        </span><span id="local-6989586621679687739"><span class="annot"><span class="annottext">go :: Bool -&gt; [[Char]] -&gt; [[Char]]
</span><a href="#local-6989586621679687739"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-155"></span><span>        </span><span class="annot"><a href="#local-6989586621679687739"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;+RTS&quot;</span></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span id="local-6989586621679687738"><span class="annot"><span class="annottext">[[Char]]
</span><a href="#local-6989586621679687738"><span class="hs-identifier hs-var">opts</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; [[Char]] -&gt; [[Char]]
</span><a href="#local-6989586621679687739"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span> </span><span class="annot"><span class="annottext">[[Char]]
</span><a href="#local-6989586621679687738"><span class="hs-identifier hs-var">opts</span></a></span><span>
</span><span id="line-156"></span><span>        </span><span class="annot"><a href="#local-6989586621679687739"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-RTS&quot;</span></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span id="local-6989586621679687737"><span class="annot"><span class="annottext">[[Char]]
</span><a href="#local-6989586621679687737"><span class="hs-identifier hs-var">opts</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; [[Char]] -&gt; [[Char]]
</span><a href="#local-6989586621679687739"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span> </span><span class="annot"><span class="annottext">[[Char]]
</span><a href="#local-6989586621679687737"><span class="hs-identifier hs-var">opts</span></a></span><span>
</span><span id="line-157"></span><span>        </span><span class="annot"><a href="#local-6989586621679687739"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span id="local-6989586621679687736"><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679687736"><span class="hs-identifier hs-var">isRTSopts</span></a></span></span><span> </span><span class="hs-special">(</span><span id="local-6989586621679687735"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687735"><span class="hs-identifier hs-var">opt</span></a></span></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span id="local-6989586621679687734"><span class="annot"><span class="annottext">[[Char]]
</span><a href="#local-6989586621679687734"><span class="hs-identifier hs-var">opts</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[[Char]] -&gt; [[Char]]
</span><a href="#local-6989586621679687733"><span class="hs-identifier hs-var">addOpt</span></a></span><span> </span><span class="annot"><span class="annottext">([[Char]] -&gt; [[Char]]) -&gt; [[Char]] -&gt; [[Char]]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; [[Char]] -&gt; [[Char]]
</span><a href="#local-6989586621679687739"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679687736"><span class="hs-identifier hs-var">isRTSopts</span></a></span><span> </span><span class="annot"><span class="annottext">[[Char]]
</span><a href="#local-6989586621679687734"><span class="hs-identifier hs-var">opts</span></a></span><span>
</span><span id="line-158"></span><span>          </span><span class="hs-keyword">where</span><span>
</span><span id="line-159"></span><span>            </span><span id="local-6989586621679687733"><span class="annot"><span class="annottext">addOpt :: [[Char]] -&gt; [[Char]]
</span><a href="#local-6989586621679687733"><span class="hs-identifier hs-var hs-var">addOpt</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679687736"><span class="hs-identifier hs-var">isRTSopts</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[[Char]] -&gt; [[Char]]
forall a. a -&gt; a
</span><a href="../../base/src/GHC.Base.html#id"><span class="hs-identifier hs-var">id</span></a></span><span>
</span><span id="line-160"></span><span>                   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687735"><span class="hs-identifier hs-var">opt</span></a></span><span class="annot"><span class="annottext">[Char] -&gt; [[Char]] -&gt; [[Char]]
forall a. a -&gt; [a] -&gt; [a]
</span><span class="hs-glyph hs-var">:</span></span><span class="hs-special">)</span><span>
</span><span id="line-161"></span><span>
</span><span id="line-162"></span><span>    </span><span class="annot"><a href="#local-6989586621679687838"><span class="hs-identifier hs-type">simpleFilters</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-163"></span><span>    </span><span id="local-6989586621679687838"><span class="annot"><span class="annottext">simpleFilters :: [Char] -&gt; Bool
</span><a href="#local-6989586621679687838"><span class="hs-identifier hs-var hs-var">simpleFilters</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool
</span><span class="hs-identifier hs-var">not</span></span><span> </span><span class="annot"><span class="annottext">(Bool -&gt; Bool) -&gt; ([Char] -&gt; Bool) -&gt; [Char] -&gt; Bool
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">Any -&gt; Bool
</span><a href="../../base/src/Data.Semigroup.Internal.html#getAny"><span class="hs-identifier hs-var hs-var">getAny</span></a></span><span> </span><span class="annot"><span class="annottext">(Any -&gt; Bool) -&gt; ([Char] -&gt; Any) -&gt; [Char] -&gt; Bool
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">[[Char] -&gt; Any] -&gt; [Char] -&gt; Any
forall a. Monoid a =&gt; [a] -&gt; a
</span><a href="../../base/src/GHC.Base.html#mconcat"><span class="hs-identifier hs-var">mconcat</span></a></span><span>
</span><span id="line-164"></span><span>      </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">Set [Char] -&gt; [Char] -&gt; Any
</span><a href="#local-6989586621679687731"><span class="hs-identifier hs-var">flagIn</span></a></span><span> </span><span class="annot"><span class="annottext">Set [Char]
</span><a href="#local-6989586621679687730"><span class="hs-identifier hs-var">simpleFlags</span></a></span><span>
</span><span id="line-165"></span><span>      </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Any
</span><a href="../../base/src/Data.Semigroup.Internal.html#Any"><span class="hs-identifier hs-var">Any</span></a></span><span> </span><span class="annot"><span class="annottext">(Bool -&gt; Any) -&gt; ([Char] -&gt; Bool) -&gt; [Char] -&gt; Any
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; Bool
forall a. Eq a =&gt; [a] -&gt; [a] -&gt; Bool
</span><a href="../../base/src/Data.OldList.html#isPrefixOf"><span class="hs-identifier hs-var">isPrefixOf</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-ddump-&quot;</span></span><span>
</span><span id="line-166"></span><span>      </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Any
</span><a href="../../base/src/Data.Semigroup.Internal.html#Any"><span class="hs-identifier hs-var">Any</span></a></span><span> </span><span class="annot"><span class="annottext">(Bool -&gt; Any) -&gt; ([Char] -&gt; Bool) -&gt; [Char] -&gt; Any
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; Bool
forall a. Eq a =&gt; [a] -&gt; [a] -&gt; Bool
</span><a href="../../base/src/Data.OldList.html#isPrefixOf"><span class="hs-identifier hs-var">isPrefixOf</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-dsuppress-&quot;</span></span><span>
</span><span id="line-167"></span><span>      </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Any
</span><a href="../../base/src/Data.Semigroup.Internal.html#Any"><span class="hs-identifier hs-var">Any</span></a></span><span> </span><span class="annot"><span class="annottext">(Bool -&gt; Any) -&gt; ([Char] -&gt; Bool) -&gt; [Char] -&gt; Any
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; Bool
forall a. Eq a =&gt; [a] -&gt; [a] -&gt; Bool
</span><a href="../../base/src/Data.OldList.html#isPrefixOf"><span class="hs-identifier hs-var">isPrefixOf</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-dno-suppress-&quot;</span></span><span>
</span><span id="line-168"></span><span>      </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Set [Char] -&gt; [Char] -&gt; Any
</span><a href="#local-6989586621679687731"><span class="hs-identifier hs-var">flagIn</span></a></span><span> </span><span class="annot"><span class="annottext">(Set [Char] -&gt; [Char] -&gt; Any) -&gt; Set [Char] -&gt; [Char] -&gt; Any
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [[Char]] -&gt; Set [Char]
</span><a href="#local-6989586621679687727"><span class="hs-identifier hs-var">invertibleFlagSet</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-&quot;</span></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;ignore-dot-ghci&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-169"></span><span>      </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Set [Char] -&gt; [Char] -&gt; Any
</span><a href="#local-6989586621679687731"><span class="hs-identifier hs-var">flagIn</span></a></span><span> </span><span class="annot"><span class="annottext">(Set [Char] -&gt; [Char] -&gt; Any)
-&gt; ([[[Char]]] -&gt; Set [Char]) -&gt; [[[Char]]] -&gt; [Char] -&gt; Any
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [[Char]] -&gt; Set [Char]
</span><a href="#local-6989586621679687727"><span class="hs-identifier hs-var">invertibleFlagSet</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-f&quot;</span></span><span> </span><span class="annot"><span class="annottext">([[Char]] -&gt; Set [Char])
-&gt; ([[[Char]]] -&gt; [[Char]]) -&gt; [[[Char]]] -&gt; Set [Char]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">[[[Char]]] -&gt; [[Char]]
forall a. Monoid a =&gt; [a] -&gt; a
</span><a href="../../base/src/GHC.Base.html#mconcat"><span class="hs-identifier hs-var">mconcat</span></a></span><span> </span><span class="annot"><span class="annottext">([[[Char]]] -&gt; [Char] -&gt; Any) -&gt; [[[Char]]] -&gt; [Char] -&gt; Any
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-170"></span><span>            </span><span class="hs-special">[</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;reverse-errors&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;warn-unused-binds&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;break-on-error&quot;</span></span><span>
</span><span id="line-171"></span><span>              </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;break-on-exception&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;print-bind-result&quot;</span></span><span>
</span><span id="line-172"></span><span>              </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;print-bind-contents&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;print-evld-with-show&quot;</span></span><span>
</span><span id="line-173"></span><span>              </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;implicit-import-qualified&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;error-spans&quot;</span></span><span>
</span><span id="line-174"></span><span>              </span><span class="hs-special">]</span><span>
</span><span id="line-175"></span><span>            </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [[Char]] -&gt; [[Char]]
forall m. Monoid m =&gt; [Int] -&gt; m -&gt; m
</span><a href="#local-6989586621679687832"><span class="hs-identifier hs-var">from</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">7</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">]</span><span>
</span><span id="line-176"></span><span>              </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;print-explicit-foralls&quot;</span></span><span> </span><span class="hs-comment">-- maybe also earlier, but GHC-7.6 doesn't have --show-options</span><span>
</span><span id="line-177"></span><span>              </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;print-explicit-kinds&quot;</span></span><span>
</span><span id="line-178"></span><span>              </span><span class="hs-special">]</span><span>
</span><span id="line-179"></span><span>            </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [[Char]] -&gt; [[Char]]
forall m. Monoid m =&gt; [Int] -&gt; m -&gt; m
</span><a href="#local-6989586621679687832"><span class="hs-identifier hs-var">from</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span class="hs-special">]</span><span>
</span><span id="line-180"></span><span>              </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;print-explicit-coercions&quot;</span></span><span>
</span><span id="line-181"></span><span>              </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;print-explicit-runtime-reps&quot;</span></span><span>
</span><span id="line-182"></span><span>              </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;print-equality-relations&quot;</span></span><span>
</span><span id="line-183"></span><span>              </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;print-unicode-syntax&quot;</span></span><span>
</span><span id="line-184"></span><span>              </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;print-expanded-synonyms&quot;</span></span><span>
</span><span id="line-185"></span><span>              </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;print-potential-instances&quot;</span></span><span>
</span><span id="line-186"></span><span>              </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;print-typechecker-elaboration&quot;</span></span><span>
</span><span id="line-187"></span><span>              </span><span class="hs-special">]</span><span>
</span><span id="line-188"></span><span>            </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [[Char]] -&gt; [[Char]]
forall m. Monoid m =&gt; [Int] -&gt; m -&gt; m
</span><a href="#local-6989586621679687832"><span class="hs-identifier hs-var">from</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">2</span></span><span class="hs-special">]</span><span>
</span><span id="line-189"></span><span>                </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;diagnostics-show-caret&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;local-ghci-history&quot;</span></span><span>
</span><span id="line-190"></span><span>                </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;show-warning-groups&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;hide-source-paths&quot;</span></span><span>
</span><span id="line-191"></span><span>                </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;show-hole-constraints&quot;</span></span><span>
</span><span id="line-192"></span><span>                </span><span class="hs-special">]</span><span>
</span><span id="line-193"></span><span>            </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [[Char]] -&gt; [[Char]]
forall m. Monoid m =&gt; [Int] -&gt; m -&gt; m
</span><a href="#local-6989586621679687832"><span class="hs-identifier hs-var">from</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">4</span></span><span class="hs-special">]</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;show-loaded-modules&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-194"></span><span>            </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [[Char]] -&gt; [[Char]]
forall m. Monoid m =&gt; [Int] -&gt; m -&gt; m
</span><a href="#local-6989586621679687832"><span class="hs-identifier hs-var">from</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">6</span></span><span class="hs-special">]</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;ghci-leak-check&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;no-it&quot;</span></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-195"></span><span>            </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [[Char]] -&gt; [[Char]]
forall m. Monoid m =&gt; [Int] -&gt; m -&gt; m
</span><a href="#local-6989586621679687832"><span class="hs-identifier hs-var">from</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">10</span></span><span class="hs-special">]</span><span>
</span><span id="line-196"></span><span>                </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;defer-diagnostics&quot;</span></span><span>      </span><span class="hs-comment">-- affects printing of diagnostics</span><span>
</span><span id="line-197"></span><span>                </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;keep-going&quot;</span></span><span>             </span><span class="hs-comment">-- try harder, the build will still fail if it's erroneous</span><span>
</span><span id="line-198"></span><span>                </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;print-axiom-incomps&quot;</span></span><span>    </span><span class="hs-comment">-- print more debug info for closed type families</span><span>
</span><span id="line-199"></span><span>                </span><span class="hs-special">]</span><span>
</span><span id="line-200"></span><span>            </span><span class="hs-special">]</span><span>
</span><span id="line-201"></span><span>      </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Set [Char] -&gt; [Char] -&gt; Any
</span><a href="#local-6989586621679687731"><span class="hs-identifier hs-var">flagIn</span></a></span><span> </span><span class="annot"><span class="annottext">(Set [Char] -&gt; [Char] -&gt; Any)
-&gt; ([[Char]] -&gt; Set [Char]) -&gt; [[Char]] -&gt; [Char] -&gt; Any
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [[Char]] -&gt; Set [Char]
</span><a href="#local-6989586621679687727"><span class="hs-identifier hs-var">invertibleFlagSet</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-d&quot;</span></span><span> </span><span class="annot"><span class="annottext">([[Char]] -&gt; [Char] -&gt; Any) -&gt; [[Char]] -&gt; [Char] -&gt; Any
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;ppr-case-as-let&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;ppr-ticks&quot;</span></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-202"></span><span>      </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; Any
</span><a href="#local-6989586621679687726"><span class="hs-identifier hs-var">isOptIntFlag</span></a></span><span>
</span><span id="line-203"></span><span>      </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; Any
</span><a href="#local-6989586621679687725"><span class="hs-identifier hs-var">isIntFlag</span></a></span><span>
</span><span id="line-204"></span><span>      </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679687790"><span class="hs-identifier hs-var">safeToFilterWarnings</span></a></span><span>
</span><span id="line-205"></span><span>           </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; Any
</span><a href="#local-6989586621679687724"><span class="hs-identifier hs-var">isWarning</span></a></span><span> </span><span class="annot"><span class="annottext">([Char] -&gt; Any) -&gt; ([Char] -&gt; Any) -&gt; [Char] -&gt; Any
forall a. Semigroup a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Base.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; Any
</span><a href="../../base/src/Data.Semigroup.Internal.html#Any"><span class="hs-identifier hs-var">Any</span></a></span><span> </span><span class="annot"><span class="annottext">(Bool -&gt; Any) -&gt; ([Char] -&gt; Bool) -&gt; [Char] -&gt; Any
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-w&quot;</span></span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-206"></span><span>           </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; Any
forall a. Monoid a =&gt; a
</span><a href="../../base/src/GHC.Base.html#mempty"><span class="hs-identifier hs-var">mempty</span></a></span><span>
</span><span id="line-207"></span><span>      </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; ([Char] -&gt; Any) -&gt; [Char] -&gt; Any
forall m. Monoid m =&gt; [Int] -&gt; m -&gt; m
</span><a href="#local-6989586621679687832"><span class="hs-identifier hs-var">from</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">6</span></span><span class="hs-special">]</span><span> </span><span class="annot"><span class="annottext">(([Char] -&gt; Any) -&gt; [Char] -&gt; Any)
-&gt; ([Char] -&gt; Any) -&gt; [Char] -&gt; Any
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-208"></span><span>        </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679687723"><span class="hs-identifier hs-var">safeToFilterHoles</span></a></span><span>
</span><span id="line-209"></span><span>           </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; Any
</span><a href="#local-6989586621679687722"><span class="hs-identifier hs-var">isTypedHoleFlag</span></a></span><span>
</span><span id="line-210"></span><span>           </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; Any
forall a. Monoid a =&gt; a
</span><a href="../../base/src/GHC.Base.html#mempty"><span class="hs-identifier hs-var">mempty</span></a></span><span>
</span><span id="line-211"></span><span>      </span><span class="hs-special">]</span><span>
</span><span id="line-212"></span><span>
</span><span id="line-213"></span><span>    </span><span class="annot"><a href="#local-6989586621679687731"><span class="hs-identifier hs-type">flagIn</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../containers/src/Data.Set.Internal.html#Set"><span class="hs-identifier hs-type">Set</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/Data.Semigroup.Internal.html#Any"><span class="hs-identifier hs-type">Any</span></a></span><span>
</span><span id="line-214"></span><span>    </span><span id="local-6989586621679687731"><span class="annot"><span class="annottext">flagIn :: Set [Char] -&gt; [Char] -&gt; Any
</span><a href="#local-6989586621679687731"><span class="hs-identifier hs-var hs-var">flagIn</span></a></span></span><span> </span><span id="local-6989586621679687721"><span class="annot"><span class="annottext">Set [Char]
</span><a href="#local-6989586621679687721"><span class="hs-identifier hs-var">set</span></a></span></span><span> </span><span id="local-6989586621679687720"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687720"><span class="hs-identifier hs-var">flag</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Any
</span><a href="../../base/src/Data.Semigroup.Internal.html#Any"><span class="hs-identifier hs-var">Any</span></a></span><span> </span><span class="annot"><span class="annottext">(Bool -&gt; Any) -&gt; Bool -&gt; Any
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; Set [Char] -&gt; Bool
forall a. Ord a =&gt; a -&gt; Set a -&gt; Bool
</span><a href="../../containers/src/Data.Set.Internal.html#member"><span class="hs-identifier hs-var">Set.member</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687720"><span class="hs-identifier hs-var">flag</span></a></span><span> </span><span class="annot"><span class="annottext">Set [Char]
</span><a href="#local-6989586621679687721"><span class="hs-identifier hs-var">set</span></a></span><span>
</span><span id="line-215"></span><span>
</span><span id="line-216"></span><span>    </span><span class="annot"><a href="#local-6989586621679687724"><span class="hs-identifier hs-type">isWarning</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/Data.Semigroup.Internal.html#Any"><span class="hs-identifier hs-type">Any</span></a></span><span>
</span><span id="line-217"></span><span>    </span><span id="local-6989586621679687724"><span class="annot"><span class="annottext">isWarning :: [Char] -&gt; Any
</span><a href="#local-6989586621679687724"><span class="hs-identifier hs-var hs-var">isWarning</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[[Char] -&gt; Any] -&gt; [Char] -&gt; Any
forall a. Monoid a =&gt; [a] -&gt; a
</span><a href="../../base/src/GHC.Base.html#mconcat"><span class="hs-identifier hs-var">mconcat</span></a></span><span> </span><span class="annot"><span class="annottext">([[Char] -&gt; Any] -&gt; [Char] -&gt; Any)
-&gt; [[Char] -&gt; Any] -&gt; [Char] -&gt; Any
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">([Char] -&gt; [Char] -&gt; Any) -&gt; [[Char]] -&gt; [[Char] -&gt; Any]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; Any
</span><a href="../../base/src/Data.Semigroup.Internal.html#Any"><span class="hs-identifier hs-var">Any</span></a></span><span> </span><span class="annot"><span class="annottext">(Bool -&gt; Any) -&gt; ([Char] -&gt; Bool) -&gt; [Char] -&gt; Any
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">(([Char] -&gt; Bool) -&gt; [Char] -&gt; Any)
-&gt; ([Char] -&gt; [Char] -&gt; Bool) -&gt; [Char] -&gt; [Char] -&gt; Any
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; Bool
forall a. Eq a =&gt; [a] -&gt; [a] -&gt; Bool
</span><a href="../../base/src/Data.OldList.html#isPrefixOf"><span class="hs-identifier hs-var">isPrefixOf</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-218"></span><span>        </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fwarn-&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fno-warn-&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-W&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-Wno-&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-219"></span><span>
</span><span id="line-220"></span><span>    </span><span class="annot"><a href="#local-6989586621679687730"><span class="hs-identifier hs-type">simpleFlags</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../containers/src/Data.Set.Internal.html#Set"><span class="hs-identifier hs-type">Set</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-221"></span><span>    </span><span id="local-6989586621679687730"><span class="annot"><span class="annottext">simpleFlags :: Set [Char]
</span><a href="#local-6989586621679687730"><span class="hs-identifier hs-var hs-var">simpleFlags</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[[Char]] -&gt; Set [Char]
forall a. Ord a =&gt; [a] -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#fromList"><span class="hs-identifier hs-var">Set.fromList</span></a></span><span> </span><span class="annot"><span class="annottext">([[Char]] -&gt; Set [Char])
-&gt; ([[[Char]]] -&gt; [[Char]]) -&gt; [[[Char]]] -&gt; Set [Char]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">[[[Char]]] -&gt; [[Char]]
forall a. Monoid a =&gt; [a] -&gt; a
</span><a href="../../base/src/GHC.Base.html#mconcat"><span class="hs-identifier hs-var">mconcat</span></a></span><span> </span><span class="annot"><span class="annottext">([[[Char]]] -&gt; Set [Char]) -&gt; [[[Char]]] -&gt; Set [Char]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-222"></span><span>      </span><span class="hs-special">[</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-n&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-#include&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-Rghc-timing&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-dstg-stats&quot;</span></span><span>
</span><span id="line-223"></span><span>        </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-dth-dec-file&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-dsource-stats&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-dverbose-core2core&quot;</span></span><span>
</span><span id="line-224"></span><span>        </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-dverbose-stg2stg&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-dcore-lint&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-dstg-lint&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-dcmm-lint&quot;</span></span><span>
</span><span id="line-225"></span><span>        </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-dasm-lint&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-dannot-lint&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-dshow-passes&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-dfaststring-stats&quot;</span></span><span>
</span><span id="line-226"></span><span>        </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fno-max-relevant-binds&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-recomp&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-no-recomp&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fforce-recomp&quot;</span></span><span>
</span><span id="line-227"></span><span>        </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fno-force-recomp&quot;</span></span><span>
</span><span id="line-228"></span><span>        </span><span class="hs-special">]</span><span>
</span><span id="line-229"></span><span>
</span><span id="line-230"></span><span>      </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [[Char]] -&gt; [[Char]]
forall m. Monoid m =&gt; [Int] -&gt; m -&gt; m
</span><a href="#local-6989586621679687832"><span class="hs-identifier hs-var">from</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">2</span></span><span class="hs-special">]</span><span>
</span><span id="line-231"></span><span>          </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fno-max-errors&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fdiagnostics-color=auto&quot;</span></span><span>
</span><span id="line-232"></span><span>          </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fdiagnostics-color=always&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fdiagnostics-color=never&quot;</span></span><span>
</span><span id="line-233"></span><span>          </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-dppr-debug&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-dno-debug-output&quot;</span></span><span>
</span><span id="line-234"></span><span>          </span><span class="hs-special">]</span><span>
</span><span id="line-235"></span><span>
</span><span id="line-236"></span><span>      </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [[Char]] -&gt; [[Char]]
forall m. Monoid m =&gt; [Int] -&gt; m -&gt; m
</span><a href="#local-6989586621679687832"><span class="hs-identifier hs-var">from</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">4</span></span><span class="hs-special">]</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-ddebug-output&quot;</span></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-237"></span><span>      </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [[Char]] -&gt; [[Char]]
forall m. Monoid m =&gt; [Int] -&gt; m -&gt; m
</span><a href="#local-6989586621679687832"><span class="hs-identifier hs-var">from</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">4</span></span><span class="hs-special">]</span><span> </span><span class="annot"><span class="annottext">([[Char]] -&gt; [[Char]]) -&gt; [[Char]] -&gt; [[Char]]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [[Char]] -&gt; [[Char]]
forall m. Monoid m =&gt; [Int] -&gt; m -&gt; m
</span><a href="#local-6989586621679687826"><span class="hs-identifier hs-var">to</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">6</span></span><span class="hs-special">]</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fno-max-valid-substitutions&quot;</span></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-238"></span><span>      </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [[Char]] -&gt; [[Char]]
forall m. Monoid m =&gt; [Int] -&gt; m -&gt; m
</span><a href="#local-6989586621679687832"><span class="hs-identifier hs-var">from</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">6</span></span><span class="hs-special">]</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-dhex-word-literals&quot;</span></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-239"></span><span>      </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [[Char]] -&gt; [[Char]]
forall m. Monoid m =&gt; [Int] -&gt; m -&gt; m
</span><a href="#local-6989586621679687832"><span class="hs-identifier hs-var">from</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">]</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fshow-docs-of-hole-fits&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fno-show-docs-of-hole-fits&quot;</span></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-240"></span><span>      </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [[Char]] -&gt; [[Char]]
forall m. Monoid m =&gt; [Int] -&gt; m -&gt; m
</span><a href="#local-6989586621679687832"><span class="hs-identifier hs-var">from</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">9</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span class="hs-special">]</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-dlinear-core-lint&quot;</span></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-241"></span><span>      </span><span class="hs-special">]</span><span>
</span><span id="line-242"></span><span>
</span><span id="line-243"></span><span>    </span><span class="annot"><a href="#local-6989586621679687726"><span class="hs-identifier hs-type">isOptIntFlag</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/Data.Semigroup.Internal.html#Any"><span class="hs-identifier hs-type">Any</span></a></span><span>
</span><span id="line-244"></span><span>    </span><span id="local-6989586621679687726"><span class="annot"><span class="annottext">isOptIntFlag :: [Char] -&gt; Any
</span><a href="#local-6989586621679687726"><span class="hs-identifier hs-var hs-var">isOptIntFlag</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[[Char] -&gt; Any] -&gt; [Char] -&gt; Any
forall a. Monoid a =&gt; [a] -&gt; a
</span><a href="../../base/src/GHC.Base.html#mconcat"><span class="hs-identifier hs-var">mconcat</span></a></span><span> </span><span class="annot"><span class="annottext">([[Char] -&gt; Any] -&gt; [Char] -&gt; Any)
-&gt; ([[Char]] -&gt; [[Char] -&gt; Any]) -&gt; [[Char]] -&gt; [Char] -&gt; Any
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">([Char] -&gt; [Char] -&gt; Any) -&gt; [[Char]] -&gt; [[Char] -&gt; Any]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; [Char] -&gt; [Char] -&gt; Any
</span><a href="#local-6989586621679687717"><span class="hs-identifier hs-var">dropIntFlag</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">([[Char]] -&gt; [Char] -&gt; Any) -&gt; [[Char]] -&gt; [Char] -&gt; Any
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-v&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-j&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-245"></span><span>
</span><span id="line-246"></span><span>    </span><span class="annot"><a href="#local-6989586621679687725"><span class="hs-identifier hs-type">isIntFlag</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/Data.Semigroup.Internal.html#Any"><span class="hs-identifier hs-type">Any</span></a></span><span>
</span><span id="line-247"></span><span>    </span><span id="local-6989586621679687725"><span class="annot"><span class="annottext">isIntFlag :: [Char] -&gt; Any
</span><a href="#local-6989586621679687725"><span class="hs-identifier hs-var hs-var">isIntFlag</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[[Char] -&gt; Any] -&gt; [Char] -&gt; Any
forall a. Monoid a =&gt; [a] -&gt; a
</span><a href="../../base/src/GHC.Base.html#mconcat"><span class="hs-identifier hs-var">mconcat</span></a></span><span> </span><span class="annot"><span class="annottext">([[Char] -&gt; Any] -&gt; [Char] -&gt; Any)
-&gt; ([[[Char]]] -&gt; [[Char] -&gt; Any]) -&gt; [[[Char]]] -&gt; [Char] -&gt; Any
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">([Char] -&gt; [Char] -&gt; Any) -&gt; [[Char]] -&gt; [[Char] -&gt; Any]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; [Char] -&gt; [Char] -&gt; Any
</span><a href="#local-6989586621679687717"><span class="hs-identifier hs-var">dropIntFlag</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">([[Char]] -&gt; [[Char] -&gt; Any])
-&gt; ([[[Char]]] -&gt; [[Char]]) -&gt; [[[Char]]] -&gt; [[Char] -&gt; Any]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">[[[Char]]] -&gt; [[Char]]
forall a. Monoid a =&gt; [a] -&gt; a
</span><a href="../../base/src/GHC.Base.html#mconcat"><span class="hs-identifier hs-var">mconcat</span></a></span><span> </span><span class="annot"><span class="annottext">([[[Char]]] -&gt; [Char] -&gt; Any) -&gt; [[[Char]]] -&gt; [Char] -&gt; Any
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-248"></span><span>        </span><span class="hs-special">[</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fmax-relevant-binds&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-ddpr-user-length&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-ddpr-cols&quot;</span></span><span>
</span><span id="line-249"></span><span>          </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-dtrace-level&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fghci-hist-size&quot;</span></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-250"></span><span>        </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [[Char]] -&gt; [[Char]]
forall m. Monoid m =&gt; [Int] -&gt; m -&gt; m
</span><a href="#local-6989586621679687832"><span class="hs-identifier hs-var">from</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">2</span></span><span class="hs-special">]</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fmax-uncovered-patterns&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fmax-errors&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-251"></span><span>        </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [[Char]] -&gt; [[Char]]
forall m. Monoid m =&gt; [Int] -&gt; m -&gt; m
</span><a href="#local-6989586621679687832"><span class="hs-identifier hs-var">from</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">4</span></span><span class="hs-special">]</span><span> </span><span class="annot"><span class="annottext">([[Char]] -&gt; [[Char]]) -&gt; [[Char]] -&gt; [[Char]]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [[Char]] -&gt; [[Char]]
forall m. Monoid m =&gt; [Int] -&gt; m -&gt; m
</span><a href="#local-6989586621679687826"><span class="hs-identifier hs-var">to</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">6</span></span><span class="hs-special">]</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fmax-valid-substitutions&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-252"></span><span>        </span><span class="hs-special">]</span><span>
</span><span id="line-253"></span><span>
</span><span id="line-254"></span><span>    </span><span class="annot"><a href="#local-6989586621679687717"><span class="hs-identifier hs-type">dropIntFlag</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/Data.Semigroup.Internal.html#Any"><span class="hs-identifier hs-type">Any</span></a></span><span>
</span><span id="line-255"></span><span>    </span><span id="local-6989586621679687717"><span class="annot"><span class="annottext">dropIntFlag :: Bool -&gt; [Char] -&gt; [Char] -&gt; Any
</span><a href="#local-6989586621679687717"><span class="hs-identifier hs-var hs-var">dropIntFlag</span></a></span></span><span> </span><span id="local-6989586621679687716"><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679687716"><span class="hs-identifier hs-var">isOpt</span></a></span></span><span> </span><span id="local-6989586621679687715"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687715"><span class="hs-identifier hs-var">flag</span></a></span></span><span> </span><span id="local-6989586621679687714"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687714"><span class="hs-identifier hs-var">input</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Any
</span><a href="../../base/src/Data.Semigroup.Internal.html#Any"><span class="hs-identifier hs-var">Any</span></a></span><span> </span><span class="annot"><span class="annottext">(Bool -&gt; Any) -&gt; Bool -&gt; Any
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; Maybe [Char]
forall a. Eq a =&gt; [a] -&gt; [a] -&gt; Maybe [a]
</span><a href="../../base/src/Data.OldList.html#stripPrefix"><span class="hs-identifier hs-var">stripPrefix</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687715"><span class="hs-identifier hs-var">flag</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687714"><span class="hs-identifier hs-var">input</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-256"></span><span>        </span><span class="annot"><span class="annottext">Maybe [Char]
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-257"></span><span>        </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621679687713"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687713"><span class="hs-identifier hs-var">rest</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679687716"><span class="hs-identifier hs-var">isOpt</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">&amp;&amp;</span></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; Bool
forall (t :: * -&gt; *) a. Foldable t =&gt; t a -&gt; Bool
</span><a href="../../base/src/Data.Foldable.html#null"><span class="hs-identifier hs-var">null</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687713"><span class="hs-identifier hs-var">rest</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-258"></span><span>                  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; Maybe Int
</span><a href="#local-6989586621679687712"><span class="hs-identifier hs-var">parseInt</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687713"><span class="hs-identifier hs-var">rest</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-259"></span><span>                        </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-260"></span><span>                        </span><span class="annot"><span class="annottext">Maybe Int
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-261"></span><span>      </span><span class="hs-keyword">where</span><span>
</span><span id="line-262"></span><span>        </span><span class="annot"><a href="#local-6989586621679687712"><span class="hs-identifier hs-type">parseInt</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span>
</span><span id="line-263"></span><span>        </span><span id="local-6989586621679687712"><span class="annot"><span class="annottext">parseInt :: [Char] -&gt; Maybe Int
</span><a href="#local-6989586621679687712"><span class="hs-identifier hs-var hs-var">parseInt</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; Maybe Int
forall a. Read a =&gt; [Char] -&gt; Maybe a
</span><a href="../../base/src/Text.Read.html#readMaybe"><span class="hs-identifier hs-var">readMaybe</span></a></span><span> </span><span class="annot"><span class="annottext">([Char] -&gt; Maybe Int) -&gt; ([Char] -&gt; [Char]) -&gt; [Char] -&gt; Maybe Int
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char]
</span><a href="#local-6989586621679687747"><span class="hs-identifier hs-var">dropEq</span></a></span><span>
</span><span id="line-264"></span><span>
</span><span id="line-265"></span><span>    </span><span class="annot"><a href="#local-6989586621679687747"><span class="hs-identifier hs-type">dropEq</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-266"></span><span>    </span><span id="local-6989586621679687747"><span class="annot"><span class="annottext">dropEq :: [Char] -&gt; [Char]
</span><a href="#local-6989586621679687747"><span class="hs-identifier hs-var hs-var">dropEq</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'='</span></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span id="local-6989586621679687710"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687710"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687710"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-267"></span><span>    </span><span class="annot"><a href="#local-6989586621679687747"><span class="hs-identifier hs-var">dropEq</span></a></span><span> </span><span id="local-6989586621679687709"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687709"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687709"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-268"></span><span>
</span><span id="line-269"></span><span>    </span><span class="annot"><a href="#local-6989586621679687727"><span class="hs-identifier hs-type">invertibleFlagSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../containers/src/Data.Set.Internal.html#Set"><span class="hs-identifier hs-type">Set</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-270"></span><span>    </span><span id="local-6989586621679687727"><span class="annot"><span class="annottext">invertibleFlagSet :: [Char] -&gt; [[Char]] -&gt; Set [Char]
</span><a href="#local-6989586621679687727"><span class="hs-identifier hs-var hs-var">invertibleFlagSet</span></a></span></span><span> </span><span id="local-6989586621679687708"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687708"><span class="hs-identifier hs-var">prefix</span></a></span></span><span> </span><span id="local-6989586621679687707"><span class="annot"><span class="annottext">[[Char]]
</span><a href="#local-6989586621679687707"><span class="hs-identifier hs-var">flagNames</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-271"></span><span>      </span><span class="annot"><span class="annottext">[[Char]] -&gt; Set [Char]
forall a. Ord a =&gt; [a] -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#fromList"><span class="hs-identifier hs-var">Set.fromList</span></a></span><span> </span><span class="annot"><span class="annottext">([[Char]] -&gt; Set [Char]) -&gt; [[Char]] -&gt; Set [Char]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">(++)</span></a></span><span> </span><span class="annot"><span class="annottext">([Char] -&gt; [Char] -&gt; [Char]) -&gt; [[Char]] -&gt; [[Char] -&gt; [Char]]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/Data.Functor.html#%3C%24%3E"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687708"><span class="hs-identifier hs-var">prefix</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687708"><span class="hs-identifier hs-var">prefix</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;no-&quot;</span></span><span class="hs-special">]</span><span> </span><span class="annot"><span class="annottext">[[Char] -&gt; [Char]] -&gt; [[Char]] -&gt; [[Char]]
forall (f :: * -&gt; *) a b. Applicative f =&gt; f (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#%3C%2A%3E"><span class="hs-operator hs-var">&lt;*&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">[[Char]]
</span><a href="#local-6989586621679687707"><span class="hs-identifier hs-var">flagNames</span></a></span><span>
</span><span id="line-272"></span><span>
</span><span id="line-273"></span><span>    </span><span class="annot"><a href="#local-6989586621679687772"><span class="hs-identifier hs-type">compatWarningSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../containers/src/Data.Set.Internal.html#Set"><span class="hs-identifier hs-type">Set</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-274"></span><span>    </span><span id="local-6989586621679687772"><span class="annot"><span class="annottext">compatWarningSet :: Set [Char]
</span><a href="#local-6989586621679687772"><span class="hs-identifier hs-var hs-var">compatWarningSet</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[[Char]] -&gt; Set [Char]
forall a. Ord a =&gt; [a] -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#fromList"><span class="hs-identifier hs-var">Set.fromList</span></a></span><span> </span><span class="annot"><span class="annottext">([[Char]] -&gt; Set [Char]) -&gt; [[Char]] -&gt; Set [Char]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">[[[Char]]] -&gt; [[Char]]
forall a. Monoid a =&gt; [a] -&gt; a
</span><a href="../../base/src/GHC.Base.html#mconcat"><span class="hs-identifier hs-var">mconcat</span></a></span><span>
</span><span id="line-275"></span><span>        </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [[Char]] -&gt; [[Char]]
forall m. Monoid m =&gt; [Int] -&gt; m -&gt; m
</span><a href="#local-6989586621679687832"><span class="hs-identifier hs-var">from</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">6</span></span><span class="hs-special">]</span><span>
</span><span id="line-276"></span><span>            </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;missing-monadfail-instances&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;semigroup&quot;</span></span><span>
</span><span id="line-277"></span><span>            </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;noncanonical-monoid-instances&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;implicit-kind-vars&quot;</span></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-278"></span><span>        </span><span class="hs-special">]</span><span>
</span><span id="line-279"></span><span>
</span><span id="line-280"></span><span>    </span><span class="annot"><a href="#local-6989586621679687723"><span class="hs-identifier hs-type">safeToFilterHoles</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-281"></span><span>    </span><span id="local-6989586621679687723"><span class="annot"><span class="annottext">safeToFilterHoles :: Bool
</span><a href="#local-6989586621679687723"><span class="hs-identifier hs-var hs-var">safeToFilterHoles</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">All -&gt; Bool
</span><a href="../../base/src/Data.Semigroup.Internal.html#getAll"><span class="hs-identifier hs-var hs-var">getAll</span></a></span><span> </span><span class="annot"><span class="annottext">(All -&gt; Bool)
-&gt; (([[Char]] -&gt; All) -&gt; All) -&gt; ([[Char]] -&gt; All) -&gt; Bool
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">([[Char]] -&gt; All) -&gt; All
forall m. Monoid m =&gt; ([[Char]] -&gt; m) -&gt; m
</span><a href="#local-6989586621679687821"><span class="hs-identifier hs-var">checkGhcFlags</span></a></span><span> </span><span class="annot"><span class="annottext">(([[Char]] -&gt; All) -&gt; Bool) -&gt; ([[Char]] -&gt; All) -&gt; Bool
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-282"></span><span>        </span><span class="annot"><span class="annottext">Bool -&gt; All
</span><a href="../../base/src/Data.Semigroup.Internal.html#All"><span class="hs-identifier hs-var">All</span></a></span><span> </span><span class="annot"><span class="annottext">(Bool -&gt; All) -&gt; ([[Char]] -&gt; Bool) -&gt; [[Char]] -&gt; All
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Maybe Bool -&gt; Bool
forall a. a -&gt; Maybe a -&gt; a
</span><a href="../../base/src/Data.Maybe.html#fromMaybe"><span class="hs-identifier hs-var">fromMaybe</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span> </span><span class="annot"><span class="annottext">(Maybe Bool -&gt; Bool)
-&gt; ([[Char]] -&gt; Maybe Bool) -&gt; [[Char]] -&gt; Bool
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">(Last' Bool -&gt; Bool) -&gt; Maybe (Last' Bool) -&gt; Maybe Bool
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="annot"><span class="annottext">Last' Bool -&gt; Bool
forall a. Last' a -&gt; a
</span><a href="Distribution.Compat.Semigroup.html#getLast%27"><span class="hs-identifier hs-var hs-var">getLast'</span></a></span><span> </span><span class="annot"><span class="annottext">(Maybe (Last' Bool) -&gt; Maybe Bool)
-&gt; ([[Char]] -&gt; Maybe (Last' Bool)) -&gt; [[Char]] -&gt; Maybe Bool
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">Option' (Last' Bool) -&gt; Maybe (Last' Bool)
forall a. Option' a -&gt; Maybe a
</span><a href="Distribution.Compat.Semigroup.html#getOption%27"><span class="hs-identifier hs-var hs-var">getOption'</span></a></span><span> </span><span class="annot"><span class="annottext">(Option' (Last' Bool) -&gt; Maybe (Last' Bool))
-&gt; ([[Char]] -&gt; Option' (Last' Bool))
-&gt; [[Char]]
-&gt; Maybe (Last' Bool)
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">([Char] -&gt; Option' (Last' Bool))
-&gt; [[Char]] -&gt; Option' (Last' Bool)
forall (t :: * -&gt; *) m a.
(Foldable t, Monoid m) =&gt;
(a -&gt; m) -&gt; t a -&gt; m
</span><a href="../../base/src/Data.Foldable.html#foldMap"><span class="hs-identifier hs-var">foldMap</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; Option' (Last' Bool)
</span><a href="#local-6989586621679687704"><span class="hs-identifier hs-var">notDeferred</span></a></span><span>
</span><span id="line-283"></span><span>      </span><span class="hs-keyword">where</span><span>
</span><span id="line-284"></span><span>        </span><span class="annot"><a href="#local-6989586621679687704"><span class="hs-identifier hs-type">notDeferred</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Compat.Semigroup.html#Option%27"><span class="hs-identifier hs-type">Option'</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Compat.Semigroup.html#Last%27"><span class="hs-identifier hs-type">Last'</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span class="hs-special">)</span><span>
</span><span id="line-285"></span><span>        </span><span id="local-6989586621679687704"><span class="annot"><span class="annottext">notDeferred :: [Char] -&gt; Option' (Last' Bool)
</span><a href="#local-6989586621679687704"><span class="hs-identifier hs-var hs-var">notDeferred</span></a></span></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fdefer-typed-holes&quot;</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Maybe (Last' Bool) -&gt; Option' (Last' Bool)
forall a. Maybe a -&gt; Option' a
</span><a href="Distribution.Compat.Semigroup.html#Option%27"><span class="hs-identifier hs-var">Option'</span></a></span><span> </span><span class="annot"><span class="annottext">(Maybe (Last' Bool) -&gt; Option' (Last' Bool))
-&gt; (Bool -&gt; Maybe (Last' Bool)) -&gt; Bool -&gt; Option' (Last' Bool)
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">Last' Bool -&gt; Maybe (Last' Bool)
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">(Last' Bool -&gt; Maybe (Last' Bool))
-&gt; (Bool -&gt; Last' Bool) -&gt; Bool -&gt; Maybe (Last' Bool)
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Last' Bool
forall a. a -&gt; Last' a
</span><a href="Distribution.Compat.Semigroup.html#Last%27"><span class="hs-identifier hs-var">Last'</span></a></span><span> </span><span class="annot"><span class="annottext">(Bool -&gt; Option' (Last' Bool)) -&gt; Bool -&gt; Option' (Last' Bool)
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-286"></span><span>        </span><span class="annot"><a href="#local-6989586621679687704"><span class="hs-identifier hs-var">notDeferred</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fno-defer-typed-holes&quot;</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Maybe (Last' Bool) -&gt; Option' (Last' Bool)
forall a. Maybe a -&gt; Option' a
</span><a href="Distribution.Compat.Semigroup.html#Option%27"><span class="hs-identifier hs-var">Option'</span></a></span><span> </span><span class="annot"><span class="annottext">(Maybe (Last' Bool) -&gt; Option' (Last' Bool))
-&gt; (Bool -&gt; Maybe (Last' Bool)) -&gt; Bool -&gt; Option' (Last' Bool)
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">Last' Bool -&gt; Maybe (Last' Bool)
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">(Last' Bool -&gt; Maybe (Last' Bool))
-&gt; (Bool -&gt; Last' Bool) -&gt; Bool -&gt; Maybe (Last' Bool)
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Last' Bool
forall a. a -&gt; Last' a
</span><a href="Distribution.Compat.Semigroup.html#Last%27"><span class="hs-identifier hs-var">Last'</span></a></span><span> </span><span class="annot"><span class="annottext">(Bool -&gt; Option' (Last' Bool)) -&gt; Bool -&gt; Option' (Last' Bool)
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-287"></span><span>        </span><span class="annot"><a href="#local-6989586621679687704"><span class="hs-identifier hs-var">notDeferred</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Maybe (Last' Bool) -&gt; Option' (Last' Bool)
forall a. Maybe a -&gt; Option' a
</span><a href="Distribution.Compat.Semigroup.html#Option%27"><span class="hs-identifier hs-var">Option'</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe (Last' Bool)
forall a. Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>
</span><span id="line-288"></span><span>
</span><span id="line-289"></span><span>    </span><span class="annot"><a href="#local-6989586621679687722"><span class="hs-identifier hs-type">isTypedHoleFlag</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/Data.Semigroup.Internal.html#Any"><span class="hs-identifier hs-type">Any</span></a></span><span>
</span><span id="line-290"></span><span>    </span><span id="local-6989586621679687722"><span class="annot"><span class="annottext">isTypedHoleFlag :: [Char] -&gt; Any
</span><a href="#local-6989586621679687722"><span class="hs-identifier hs-var hs-var">isTypedHoleFlag</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[[Char] -&gt; Any] -&gt; [Char] -&gt; Any
forall a. Monoid a =&gt; [a] -&gt; a
</span><a href="../../base/src/GHC.Base.html#mconcat"><span class="hs-identifier hs-var">mconcat</span></a></span><span>
</span><span id="line-291"></span><span>        </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">Set [Char] -&gt; [Char] -&gt; Any
</span><a href="#local-6989586621679687731"><span class="hs-identifier hs-var">flagIn</span></a></span><span> </span><span class="annot"><span class="annottext">(Set [Char] -&gt; [Char] -&gt; Any)
-&gt; ([[Char]] -&gt; Set [Char]) -&gt; [[Char]] -&gt; [Char] -&gt; Any
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [[Char]] -&gt; Set [Char]
</span><a href="#local-6989586621679687727"><span class="hs-identifier hs-var">invertibleFlagSet</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-f&quot;</span></span><span> </span><span class="annot"><span class="annottext">([[Char]] -&gt; [Char] -&gt; Any) -&gt; [[Char]] -&gt; [Char] -&gt; Any
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-292"></span><span>            </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;show-hole-constraints&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;show-valid-substitutions&quot;</span></span><span>
</span><span id="line-293"></span><span>            </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;show-valid-hole-fits&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;sort-valid-hole-fits&quot;</span></span><span>
</span><span id="line-294"></span><span>            </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;sort-by-size-hole-fits&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;sort-by-subsumption-hole-fits&quot;</span></span><span>
</span><span id="line-295"></span><span>            </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;abstract-refinement-hole-fits&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;show-provenance-of-hole-fits&quot;</span></span><span>
</span><span id="line-296"></span><span>            </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;show-hole-matches-of-hole-fits&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;show-type-of-hole-fits&quot;</span></span><span>
</span><span id="line-297"></span><span>            </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;show-type-app-of-hole-fits&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;show-type-app-vars-of-hole-fits&quot;</span></span><span>
</span><span id="line-298"></span><span>            </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;unclutter-valid-hole-fits&quot;</span></span><span>
</span><span id="line-299"></span><span>            </span><span class="hs-special">]</span><span>
</span><span id="line-300"></span><span>        </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Set [Char] -&gt; [Char] -&gt; Any
</span><a href="#local-6989586621679687731"><span class="hs-identifier hs-var">flagIn</span></a></span><span> </span><span class="annot"><span class="annottext">(Set [Char] -&gt; [Char] -&gt; Any)
-&gt; ([[Char]] -&gt; Set [Char]) -&gt; [[Char]] -&gt; [Char] -&gt; Any
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">[[Char]] -&gt; Set [Char]
forall a. Ord a =&gt; [a] -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#fromList"><span class="hs-identifier hs-var">Set.fromList</span></a></span><span> </span><span class="annot"><span class="annottext">([[Char]] -&gt; [Char] -&gt; Any) -&gt; [[Char]] -&gt; [Char] -&gt; Any
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-301"></span><span>            </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fno-max-valid-hole-fits&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fno-max-refinement-hole-fits&quot;</span></span><span>
</span><span id="line-302"></span><span>            </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fno-refinement-level-hole-fits&quot;</span></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-303"></span><span>        </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[[Char] -&gt; Any] -&gt; [Char] -&gt; Any
forall a. Monoid a =&gt; [a] -&gt; a
</span><a href="../../base/src/GHC.Base.html#mconcat"><span class="hs-identifier hs-var">mconcat</span></a></span><span> </span><span class="annot"><span class="annottext">([[Char] -&gt; Any] -&gt; [Char] -&gt; Any)
-&gt; ([[Char]] -&gt; [[Char] -&gt; Any]) -&gt; [[Char]] -&gt; [Char] -&gt; Any
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">([Char] -&gt; [Char] -&gt; Any) -&gt; [[Char]] -&gt; [[Char] -&gt; Any]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; [Char] -&gt; [Char] -&gt; Any
</span><a href="#local-6989586621679687717"><span class="hs-identifier hs-var">dropIntFlag</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">([[Char]] -&gt; [Char] -&gt; Any) -&gt; [[Char]] -&gt; [Char] -&gt; Any
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-304"></span><span>            </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fmax-valid-hole-fits&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fmax-refinement-hole-fits&quot;</span></span><span>
</span><span id="line-305"></span><span>            </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-frefinement-level-hole-fits&quot;</span></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-306"></span><span>        </span><span class="hs-special">]</span><span>
</span><span id="line-307"></span><span>
</span><span id="line-308"></span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#normaliseGhcArgs"><span class="hs-identifier hs-var">normaliseGhcArgs</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe Version
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621679687702"><span class="annot"><span class="annottext">[[Char]]
</span><a href="#local-6989586621679687702"><span class="hs-identifier hs-var">args</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[[Char]]
</span><a href="#local-6989586621679687702"><span class="hs-identifier hs-var">args</span></a></span><span>
</span><span id="line-309"></span><span>
</span><span id="line-310"></span><span class="hs-comment">-- | A structured set of GHC options/flags</span><span>
</span><span id="line-311"></span><span class="hs-comment">--</span><span>
</span><span id="line-312"></span><span class="hs-comment">-- Note that options containing lists fall into two categories:</span><span>
</span><span id="line-313"></span><span class="hs-comment">--</span><span>
</span><span id="line-314"></span><span class="hs-comment">--  * options that can be safely deduplicated, e.g. input modules or</span><span>
</span><span id="line-315"></span><span class="hs-comment">--    enabled extensions;</span><span>
</span><span id="line-316"></span><span class="hs-comment">--  * options that cannot be deduplicated in general without changing</span><span>
</span><span id="line-317"></span><span class="hs-comment">--    semantics, e.g. extra ghc options or linking options.</span><span>
</span><span id="line-318"></span><span id="local-6989586621679687700"><span id="local-6989586621679687701"></span></span><span class="hs-keyword">data</span><span> </span><span id="GhcOptions"><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcOptions"><span class="hs-identifier hs-var">GhcOptions</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="GhcOptions"><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcOptions"><span class="hs-identifier hs-var">GhcOptions</span></a></span></span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-319"></span><span>
</span><span id="line-320"></span><span>  </span><span class="hs-comment">-- | The major mode for the ghc invocation.</span><span>
</span><span id="line-321"></span><span>  </span><span id="ghcOptMode"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag GhcMode
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptMode"><span class="hs-identifier hs-var hs-var">ghcOptMode</span></a></span></span><span>          </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcMode"><span class="hs-identifier hs-type">GhcMode</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-322"></span><span>
</span><span id="line-323"></span><span>  </span><span class="hs-comment">-- | Any extra options to pass directly to ghc. These go at the end and hence</span><span>
</span><span id="line-324"></span><span>  </span><span class="hs-comment">-- override other stuff.</span><span>
</span><span id="line-325"></span><span>  </span><span id="ghcOptExtra"><span class="annot"><span class="annottext">GhcOptions -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptExtra"><span class="hs-identifier hs-var hs-var">ghcOptExtra</span></a></span></span><span>         </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span class="hs-special">,</span><span>
</span><span id="line-326"></span><span>
</span><span id="line-327"></span><span>  </span><span class="hs-comment">-- | Extra default flags to pass directly to ghc. These go at the beginning</span><span>
</span><span id="line-328"></span><span>  </span><span class="hs-comment">-- and so can be overridden by other stuff.</span><span>
</span><span id="line-329"></span><span>  </span><span id="ghcOptExtraDefault"><span class="annot"><span class="annottext">GhcOptions -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptExtraDefault"><span class="hs-identifier hs-var hs-var">ghcOptExtraDefault</span></a></span></span><span>  </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span class="hs-special">,</span><span>
</span><span id="line-330"></span><span>
</span><span id="line-331"></span><span>  </span><span class="hs-comment">-----------------------</span><span>
</span><span id="line-332"></span><span>  </span><span class="hs-comment">-- Inputs and outputs</span><span>
</span><span id="line-333"></span><span>
</span><span id="line-334"></span><span>  </span><span class="hs-comment">-- | The main input files; could be .hs, .hi, .c, .o, depending on mode.</span><span>
</span><span id="line-335"></span><span>  </span><span id="ghcOptInputFiles"><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptInputFiles"><span class="hs-identifier hs-var hs-var">ghcOptInputFiles</span></a></span></span><span>    </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Utils.NubList.html#NubListR"><span class="hs-identifier hs-type">NubListR</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-336"></span><span>
</span><span id="line-337"></span><span>  </span><span class="hs-comment">-- | The names of input Haskell modules, mainly for @--make@ mode.</span><span>
</span><span id="line-338"></span><span>  </span><span id="ghcOptInputModules"><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR ModuleName
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptInputModules"><span class="hs-identifier hs-var hs-var">ghcOptInputModules</span></a></span></span><span>  </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Utils.NubList.html#NubListR"><span class="hs-identifier hs-type">NubListR</span></a></span><span> </span><span class="annot"><a href="Distribution.ModuleName.html#ModuleName"><span class="hs-identifier hs-type">ModuleName</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-339"></span><span>
</span><span id="line-340"></span><span>  </span><span class="hs-comment">-- | Location for output file; the @ghc -o@ flag.</span><span>
</span><span id="line-341"></span><span>  </span><span id="ghcOptOutputFile"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptOutputFile"><span class="hs-identifier hs-var hs-var">ghcOptOutputFile</span></a></span></span><span>    </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-342"></span><span>
</span><span id="line-343"></span><span>  </span><span class="hs-comment">-- | Location for dynamic output file in 'GhcStaticAndDynamic' mode;</span><span>
</span><span id="line-344"></span><span>  </span><span class="hs-comment">-- the @ghc -dyno@ flag.</span><span>
</span><span id="line-345"></span><span>  </span><span id="ghcOptOutputDynFile"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptOutputDynFile"><span class="hs-identifier hs-var hs-var">ghcOptOutputDynFile</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-346"></span><span>
</span><span id="line-347"></span><span>  </span><span class="hs-comment">-- | Start with an empty search path for Haskell source files;</span><span>
</span><span id="line-348"></span><span>  </span><span class="hs-comment">-- the @ghc -i@ flag (@-i@ on its own with no path argument).</span><span>
</span><span id="line-349"></span><span>  </span><span id="ghcOptSourcePathClear"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptSourcePathClear"><span class="hs-identifier hs-var hs-var">ghcOptSourcePathClear</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span class="hs-special">,</span><span>
</span><span id="line-350"></span><span>
</span><span id="line-351"></span><span>  </span><span class="hs-comment">-- | Search path for Haskell source files; the @ghc -i@ flag.</span><span>
</span><span id="line-352"></span><span>  </span><span id="ghcOptSourcePath"><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptSourcePath"><span class="hs-identifier hs-var hs-var">ghcOptSourcePath</span></a></span></span><span>    </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Utils.NubList.html#NubListR"><span class="hs-identifier hs-type">NubListR</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-353"></span><span>
</span><span id="line-354"></span><span>  </span><span class="hs-comment">-------------</span><span>
</span><span id="line-355"></span><span>  </span><span class="hs-comment">-- Packages</span><span>
</span><span id="line-356"></span><span>
</span><span id="line-357"></span><span>  </span><span class="hs-comment">-- | The unit ID the modules will belong to; the @ghc -this-unit-id@</span><span>
</span><span id="line-358"></span><span>  </span><span class="hs-comment">-- flag (or @-this-package-key@ or @-package-name@ on older</span><span>
</span><span id="line-359"></span><span>  </span><span class="hs-comment">-- versions of GHC).  This is a 'String' because we assume you've</span><span>
</span><span id="line-360"></span><span>  </span><span class="hs-comment">-- already figured out what the correct format for this string is</span><span>
</span><span id="line-361"></span><span>  </span><span class="hs-comment">-- (we need to handle backwards compatibility.)</span><span>
</span><span id="line-362"></span><span>  </span><span id="ghcOptThisUnitId"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptThisUnitId"><span class="hs-identifier hs-var hs-var">ghcOptThisUnitId</span></a></span></span><span>   </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-363"></span><span>
</span><span id="line-364"></span><span>  </span><span class="hs-comment">-- | GHC doesn't make any assumptions about the format of</span><span>
</span><span id="line-365"></span><span>  </span><span class="hs-comment">-- definite unit ids, so when we are instantiating a package it</span><span>
</span><span id="line-366"></span><span>  </span><span class="hs-comment">-- needs to be told explicitly what the component being instantiated</span><span>
</span><span id="line-367"></span><span>  </span><span class="hs-comment">-- is.  This only gets set when 'ghcOptInstantiatedWith' is non-empty</span><span>
</span><span id="line-368"></span><span>  </span><span id="ghcOptThisComponentId"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag ComponentId
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptThisComponentId"><span class="hs-identifier hs-var hs-var">ghcOptThisComponentId</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><a href="Distribution.Types.ComponentId.html#ComponentId"><span class="hs-identifier hs-type">ComponentId</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-369"></span><span>
</span><span id="line-370"></span><span>  </span><span class="hs-comment">-- | How the requirements of the package being compiled are to</span><span>
</span><span id="line-371"></span><span>  </span><span class="hs-comment">-- be filled.  When typechecking an indefinite package, the 'OpenModule'</span><span>
</span><span id="line-372"></span><span>  </span><span class="hs-comment">-- is always a 'OpenModuleVar'; otherwise, it specifies the installed module</span><span>
</span><span id="line-373"></span><span>  </span><span class="hs-comment">-- that instantiates a package.</span><span>
</span><span id="line-374"></span><span>  </span><span id="ghcOptInstantiatedWith"><span class="annot"><span class="annottext">GhcOptions -&gt; [(ModuleName, OpenModule)]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptInstantiatedWith"><span class="hs-identifier hs-var hs-var">ghcOptInstantiatedWith</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="annot"><a href="Distribution.ModuleName.html#ModuleName"><span class="hs-identifier hs-type">ModuleName</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Backpack.html#OpenModule"><span class="hs-identifier hs-type">OpenModule</span></a></span><span class="hs-special">)</span><span class="hs-special">]</span><span class="hs-special">,</span><span>
</span><span id="line-375"></span><span>
</span><span id="line-376"></span><span>  </span><span class="hs-comment">-- | No code? (But we turn on interface writing</span><span>
</span><span id="line-377"></span><span>  </span><span id="ghcOptNoCode"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptNoCode"><span class="hs-identifier hs-var hs-var">ghcOptNoCode</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span class="hs-special">,</span><span>
</span><span id="line-378"></span><span>
</span><span id="line-379"></span><span>  </span><span class="hs-comment">-- | GHC package databases to use, the @ghc -package-conf@ flag.</span><span>
</span><span id="line-380"></span><span>  </span><span id="ghcOptPackageDBs"><span class="annot"><span class="annottext">GhcOptions -&gt; PackageDBStack
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptPackageDBs"><span class="hs-identifier hs-var hs-var">ghcOptPackageDBs</span></a></span></span><span>    </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Compiler.html#PackageDBStack"><span class="hs-identifier hs-type">PackageDBStack</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-381"></span><span>
</span><span id="line-382"></span><span>  </span><span class="hs-comment">-- | The GHC packages to bring into scope when compiling,</span><span>
</span><span id="line-383"></span><span>  </span><span class="hs-comment">-- the @ghc -package-id@ flags.</span><span>
</span><span id="line-384"></span><span>  </span><span id="ghcOptPackages"><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR (OpenUnitId, ModuleRenaming)
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptPackages"><span class="hs-identifier hs-var hs-var">ghcOptPackages</span></a></span></span><span>      </span><span class="hs-glyph">::</span><span>
</span><span id="line-385"></span><span>    </span><span class="annot"><a href="Distribution.Utils.NubList.html#NubListR"><span class="hs-identifier hs-type">NubListR</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Backpack.html#OpenUnitId"><span class="hs-identifier hs-type">OpenUnitId</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Types.ModuleRenaming.html#ModuleRenaming"><span class="hs-identifier hs-type">ModuleRenaming</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-386"></span><span>
</span><span id="line-387"></span><span>  </span><span class="hs-comment">-- | Start with a clean package set; the @ghc -hide-all-packages@ flag</span><span>
</span><span id="line-388"></span><span>  </span><span id="ghcOptHideAllPackages"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptHideAllPackages"><span class="hs-identifier hs-var hs-var">ghcOptHideAllPackages</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span class="hs-special">,</span><span>
</span><span id="line-389"></span><span>
</span><span id="line-390"></span><span>  </span><span class="hs-comment">-- | Warn about modules, not listed in command line</span><span>
</span><span id="line-391"></span><span>  </span><span id="ghcOptWarnMissingHomeModules"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptWarnMissingHomeModules"><span class="hs-identifier hs-var hs-var">ghcOptWarnMissingHomeModules</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span class="hs-special">,</span><span>
</span><span id="line-392"></span><span>
</span><span id="line-393"></span><span>  </span><span class="hs-comment">-- | Don't automatically link in Haskell98 etc; the @ghc</span><span>
</span><span id="line-394"></span><span>  </span><span class="hs-comment">-- -no-auto-link-packages@ flag.</span><span>
</span><span id="line-395"></span><span>  </span><span id="ghcOptNoAutoLinkPackages"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptNoAutoLinkPackages"><span class="hs-identifier hs-var hs-var">ghcOptNoAutoLinkPackages</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span class="hs-special">,</span><span>
</span><span id="line-396"></span><span>
</span><span id="line-397"></span><span>  </span><span class="hs-comment">-----------------</span><span>
</span><span id="line-398"></span><span>  </span><span class="hs-comment">-- Linker stuff</span><span>
</span><span id="line-399"></span><span>
</span><span id="line-400"></span><span>  </span><span class="hs-comment">-- | Names of libraries to link in; the @ghc -l@ flag.</span><span>
</span><span id="line-401"></span><span>  </span><span id="ghcOptLinkLibs"><span class="annot"><span class="annottext">GhcOptions -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptLinkLibs"><span class="hs-identifier hs-var hs-var">ghcOptLinkLibs</span></a></span></span><span>      </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">]</span><span class="hs-special">,</span><span>
</span><span id="line-402"></span><span>
</span><span id="line-403"></span><span>  </span><span class="hs-comment">-- | Search path for libraries to link in; the @ghc -L@ flag.</span><span>
</span><span id="line-404"></span><span>  </span><span id="ghcOptLinkLibPath"><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptLinkLibPath"><span class="hs-identifier hs-var hs-var">ghcOptLinkLibPath</span></a></span></span><span>  </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Utils.NubList.html#NubListR"><span class="hs-identifier hs-type">NubListR</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-405"></span><span>
</span><span id="line-406"></span><span>  </span><span class="hs-comment">-- | Options to pass through to the linker; the @ghc -optl@ flag.</span><span>
</span><span id="line-407"></span><span>  </span><span id="ghcOptLinkOptions"><span class="annot"><span class="annottext">GhcOptions -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptLinkOptions"><span class="hs-identifier hs-var hs-var">ghcOptLinkOptions</span></a></span></span><span>   </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span class="hs-special">,</span><span>
</span><span id="line-408"></span><span>
</span><span id="line-409"></span><span>  </span><span class="hs-comment">-- | OSX only: frameworks to link in; the @ghc -framework@ flag.</span><span>
</span><span id="line-410"></span><span>  </span><span id="ghcOptLinkFrameworks"><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptLinkFrameworks"><span class="hs-identifier hs-var hs-var">ghcOptLinkFrameworks</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Utils.NubList.html#NubListR"><span class="hs-identifier hs-type">NubListR</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-411"></span><span>
</span><span id="line-412"></span><span>  </span><span class="hs-comment">-- | OSX only: Search path for frameworks to link in; the</span><span>
</span><span id="line-413"></span><span>  </span><span class="hs-comment">-- @ghc -framework-path@ flag.</span><span>
</span><span id="line-414"></span><span>  </span><span id="ghcOptLinkFrameworkDirs"><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptLinkFrameworkDirs"><span class="hs-identifier hs-var hs-var">ghcOptLinkFrameworkDirs</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Utils.NubList.html#NubListR"><span class="hs-identifier hs-type">NubListR</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-415"></span><span>
</span><span id="line-416"></span><span>  </span><span class="hs-comment">-- | Don't do the link step, useful in make mode; the @ghc -no-link@ flag.</span><span>
</span><span id="line-417"></span><span>  </span><span id="ghcOptNoLink"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptNoLink"><span class="hs-identifier hs-var hs-var">ghcOptNoLink</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span class="hs-special">,</span><span>
</span><span id="line-418"></span><span>
</span><span id="line-419"></span><span>  </span><span class="hs-comment">-- | Don't link in the normal RTS @main@ entry point; the @ghc -no-hs-main@</span><span>
</span><span id="line-420"></span><span>  </span><span class="hs-comment">-- flag.</span><span>
</span><span id="line-421"></span><span>  </span><span id="ghcOptLinkNoHsMain"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptLinkNoHsMain"><span class="hs-identifier hs-var hs-var">ghcOptLinkNoHsMain</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span class="hs-special">,</span><span>
</span><span id="line-422"></span><span>
</span><span id="line-423"></span><span>  </span><span class="hs-comment">-- | Module definition files (Windows specific)</span><span>
</span><span id="line-424"></span><span>  </span><span id="ghcOptLinkModDefFiles"><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptLinkModDefFiles"><span class="hs-identifier hs-var hs-var">ghcOptLinkModDefFiles</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Utils.NubList.html#NubListR"><span class="hs-identifier hs-type">NubListR</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-425"></span><span>
</span><span id="line-426"></span><span>  </span><span class="hs-comment">--------------------</span><span>
</span><span id="line-427"></span><span>  </span><span class="hs-comment">-- C and CPP stuff</span><span>
</span><span id="line-428"></span><span>
</span><span id="line-429"></span><span>  </span><span class="hs-comment">-- | Options to pass through to the C compiler; the @ghc -optc@ flag.</span><span>
</span><span id="line-430"></span><span>  </span><span id="ghcOptCcOptions"><span class="annot"><span class="annottext">GhcOptions -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptCcOptions"><span class="hs-identifier hs-var hs-var">ghcOptCcOptions</span></a></span></span><span>     </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span class="hs-special">,</span><span>
</span><span id="line-431"></span><span>
</span><span id="line-432"></span><span>  </span><span class="hs-comment">-- | Options to pass through to the C++ compiler.</span><span>
</span><span id="line-433"></span><span>  </span><span id="ghcOptCxxOptions"><span class="annot"><span class="annottext">GhcOptions -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptCxxOptions"><span class="hs-identifier hs-var hs-var">ghcOptCxxOptions</span></a></span></span><span>     </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span class="hs-special">,</span><span>
</span><span id="line-434"></span><span>
</span><span id="line-435"></span><span>  </span><span class="hs-comment">-- | Options to pass through to the Assembler.</span><span>
</span><span id="line-436"></span><span>  </span><span id="ghcOptAsmOptions"><span class="annot"><span class="annottext">GhcOptions -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptAsmOptions"><span class="hs-identifier hs-var hs-var">ghcOptAsmOptions</span></a></span></span><span>     </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span class="hs-special">,</span><span>
</span><span id="line-437"></span><span>
</span><span id="line-438"></span><span>  </span><span class="hs-comment">-- | Options to pass through to CPP; the @ghc -optP@ flag.</span><span>
</span><span id="line-439"></span><span>  </span><span id="ghcOptCppOptions"><span class="annot"><span class="annottext">GhcOptions -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptCppOptions"><span class="hs-identifier hs-var hs-var">ghcOptCppOptions</span></a></span></span><span>    </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span class="hs-special">,</span><span>
</span><span id="line-440"></span><span>
</span><span id="line-441"></span><span>  </span><span class="hs-comment">-- | Search path for CPP includes like header files; the @ghc -I@ flag.</span><span>
</span><span id="line-442"></span><span>  </span><span id="ghcOptCppIncludePath"><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptCppIncludePath"><span class="hs-identifier hs-var hs-var">ghcOptCppIncludePath</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Utils.NubList.html#NubListR"><span class="hs-identifier hs-type">NubListR</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-443"></span><span>
</span><span id="line-444"></span><span>  </span><span class="hs-comment">-- | Extra header files to include at CPP stage; the @ghc -optP-include@ flag.</span><span>
</span><span id="line-445"></span><span>  </span><span id="ghcOptCppIncludes"><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptCppIncludes"><span class="hs-identifier hs-var hs-var">ghcOptCppIncludes</span></a></span></span><span>    </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Utils.NubList.html#NubListR"><span class="hs-identifier hs-type">NubListR</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-446"></span><span>
</span><span id="line-447"></span><span>  </span><span class="hs-comment">-- | Extra header files to include for old-style FFI; the @ghc -#include@ flag.</span><span>
</span><span id="line-448"></span><span>  </span><span id="ghcOptFfiIncludes"><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptFfiIncludes"><span class="hs-identifier hs-var hs-var">ghcOptFfiIncludes</span></a></span></span><span>    </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Utils.NubList.html#NubListR"><span class="hs-identifier hs-type">NubListR</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-449"></span><span>
</span><span id="line-450"></span><span>  </span><span class="hs-comment">----------------------------</span><span>
</span><span id="line-451"></span><span>  </span><span class="hs-comment">-- Language and extensions</span><span>
</span><span id="line-452"></span><span>
</span><span id="line-453"></span><span>  </span><span class="hs-comment">-- | The base language; the @ghc -XHaskell98@ or @-XHaskell2010@ flag.</span><span>
</span><span id="line-454"></span><span>  </span><span id="ghcOptLanguage"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Language
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptLanguage"><span class="hs-identifier hs-var hs-var">ghcOptLanguage</span></a></span></span><span>      </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><a href="Language.Haskell.Extension.html#Language"><span class="hs-identifier hs-type">Language</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-455"></span><span>
</span><span id="line-456"></span><span>  </span><span class="hs-comment">-- | The language extensions; the @ghc -X@ flag.</span><span>
</span><span id="line-457"></span><span>  </span><span id="ghcOptExtensions"><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR Extension
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptExtensions"><span class="hs-identifier hs-var hs-var">ghcOptExtensions</span></a></span></span><span>    </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Utils.NubList.html#NubListR"><span class="hs-identifier hs-type">NubListR</span></a></span><span> </span><span class="annot"><a href="Language.Haskell.Extension.html#Extension"><span class="hs-identifier hs-type">Extension</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-458"></span><span>
</span><span id="line-459"></span><span>  </span><span class="hs-comment">-- | A GHC version-dependent mapping of extensions to flags. This must be</span><span>
</span><span id="line-460"></span><span>  </span><span class="hs-comment">-- set to be able to make use of the 'ghcOptExtensions'.</span><span>
</span><span id="line-461"></span><span>  </span><span id="ghcOptExtensionMap"><span class="annot"><span class="annottext">GhcOptions -&gt; Map Extension (Maybe [Char])
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptExtensionMap"><span class="hs-identifier hs-var hs-var">ghcOptExtensionMap</span></a></span></span><span>    </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../containers/src/Data.Map.Internal.html#Map"><span class="hs-identifier hs-type">Map</span></a></span><span> </span><span class="annot"><a href="Language.Haskell.Extension.html#Extension"><span class="hs-identifier hs-type">Extension</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="Distribution.Simple.Compiler.html#CompilerFlag"><span class="hs-identifier hs-type">CompilerFlag</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-462"></span><span>
</span><span id="line-463"></span><span>  </span><span class="hs-comment">----------------</span><span>
</span><span id="line-464"></span><span>  </span><span class="hs-comment">-- Compilation</span><span>
</span><span id="line-465"></span><span>
</span><span id="line-466"></span><span>  </span><span class="hs-comment">-- | What optimisation level to use; the @ghc -O@ flag.</span><span>
</span><span id="line-467"></span><span>  </span><span id="ghcOptOptimisation"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag GhcOptimisation
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptOptimisation"><span class="hs-identifier hs-var hs-var">ghcOptOptimisation</span></a></span></span><span>  </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcOptimisation"><span class="hs-identifier hs-type">GhcOptimisation</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-468"></span><span>
</span><span id="line-469"></span><span>    </span><span class="hs-comment">-- | Emit debug info; the @ghc -g@ flag.</span><span>
</span><span id="line-470"></span><span>  </span><span id="ghcOptDebugInfo"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag DebugInfoLevel
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptDebugInfo"><span class="hs-identifier hs-var hs-var">ghcOptDebugInfo</span></a></span></span><span>     </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><a href="Distribution.Simple.Compiler.html#DebugInfoLevel"><span class="hs-identifier hs-type">DebugInfoLevel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-471"></span><span>
</span><span id="line-472"></span><span>  </span><span class="hs-comment">-- | Compile in profiling mode; the @ghc -prof@ flag.</span><span>
</span><span id="line-473"></span><span>  </span><span id="ghcOptProfilingMode"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptProfilingMode"><span class="hs-identifier hs-var hs-var">ghcOptProfilingMode</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span class="hs-special">,</span><span>
</span><span id="line-474"></span><span>
</span><span id="line-475"></span><span>  </span><span class="hs-comment">-- | Automatically add profiling cost centers; the @ghc -fprof-auto*@ flags.</span><span>
</span><span id="line-476"></span><span>  </span><span id="ghcOptProfilingAuto"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag GhcProfAuto
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptProfilingAuto"><span class="hs-identifier hs-var hs-var">ghcOptProfilingAuto</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcProfAuto"><span class="hs-identifier hs-type">GhcProfAuto</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-477"></span><span>
</span><span id="line-478"></span><span>  </span><span class="hs-comment">-- | Use the \&quot;split sections\&quot; feature; the @ghc -split-sections@ flag.</span><span>
</span><span id="line-479"></span><span>  </span><span id="ghcOptSplitSections"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptSplitSections"><span class="hs-identifier hs-var hs-var">ghcOptSplitSections</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span class="hs-special">,</span><span>
</span><span id="line-480"></span><span>
</span><span id="line-481"></span><span>  </span><span class="hs-comment">-- | Use the \&quot;split object files\&quot; feature; the @ghc -split-objs@ flag.</span><span>
</span><span id="line-482"></span><span>  </span><span id="ghcOptSplitObjs"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptSplitObjs"><span class="hs-identifier hs-var hs-var">ghcOptSplitObjs</span></a></span></span><span>     </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span class="hs-special">,</span><span>
</span><span id="line-483"></span><span>
</span><span id="line-484"></span><span>  </span><span class="hs-comment">-- | Run N jobs simultaneously (if possible).</span><span>
</span><span id="line-485"></span><span>  </span><span id="ghcOptNumJobs"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag (Maybe Int)
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptNumJobs"><span class="hs-identifier hs-var hs-var">ghcOptNumJobs</span></a></span></span><span>       </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-486"></span><span>
</span><span id="line-487"></span><span>  </span><span class="hs-comment">-- | Enable coverage analysis; the @ghc -fhpc -hpcdir@ flags.</span><span>
</span><span id="line-488"></span><span>  </span><span id="ghcOptHPCDir"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptHPCDir"><span class="hs-identifier hs-var hs-var">ghcOptHPCDir</span></a></span></span><span>        </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-489"></span><span>
</span><span id="line-490"></span><span>  </span><span class="hs-comment">----------------</span><span>
</span><span id="line-491"></span><span>  </span><span class="hs-comment">-- GHCi</span><span>
</span><span id="line-492"></span><span>
</span><span id="line-493"></span><span>  </span><span class="hs-comment">-- | Extra GHCi startup scripts; the @-ghci-script@ flag</span><span>
</span><span id="line-494"></span><span>  </span><span id="ghcOptGHCiScripts"><span class="annot"><span class="annottext">GhcOptions -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptGHCiScripts"><span class="hs-identifier hs-var hs-var">ghcOptGHCiScripts</span></a></span></span><span>    </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">]</span><span class="hs-special">,</span><span>
</span><span id="line-495"></span><span>
</span><span id="line-496"></span><span>  </span><span class="hs-comment">------------------------</span><span>
</span><span id="line-497"></span><span>  </span><span class="hs-comment">-- Redirecting outputs</span><span>
</span><span id="line-498"></span><span>
</span><span id="line-499"></span><span>  </span><span id="ghcOptHiSuffix"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptHiSuffix"><span class="hs-identifier hs-var hs-var">ghcOptHiSuffix</span></a></span></span><span>      </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-500"></span><span>  </span><span id="ghcOptObjSuffix"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptObjSuffix"><span class="hs-identifier hs-var hs-var">ghcOptObjSuffix</span></a></span></span><span>     </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-501"></span><span>  </span><span id="ghcOptDynHiSuffix"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptDynHiSuffix"><span class="hs-identifier hs-var hs-var">ghcOptDynHiSuffix</span></a></span></span><span>   </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">,</span><span>   </span><span class="hs-comment">-- ^ only in 'GhcStaticAndDynamic' mode</span><span>
</span><span id="line-502"></span><span>  </span><span id="ghcOptDynObjSuffix"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptDynObjSuffix"><span class="hs-identifier hs-var hs-var">ghcOptDynObjSuffix</span></a></span></span><span>  </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">,</span><span>   </span><span class="hs-comment">-- ^ only in 'GhcStaticAndDynamic' mode</span><span>
</span><span id="line-503"></span><span>  </span><span id="ghcOptHiDir"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptHiDir"><span class="hs-identifier hs-var hs-var">ghcOptHiDir</span></a></span></span><span>         </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-504"></span><span>  </span><span id="ghcOptObjDir"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptObjDir"><span class="hs-identifier hs-var hs-var">ghcOptObjDir</span></a></span></span><span>        </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-505"></span><span>  </span><span id="ghcOptOutputDir"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptOutputDir"><span class="hs-identifier hs-var hs-var">ghcOptOutputDir</span></a></span></span><span>     </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-506"></span><span>  </span><span id="ghcOptStubDir"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptStubDir"><span class="hs-identifier hs-var hs-var">ghcOptStubDir</span></a></span></span><span>       </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-507"></span><span>
</span><span id="line-508"></span><span>  </span><span class="hs-comment">--------------------</span><span>
</span><span id="line-509"></span><span>  </span><span class="hs-comment">-- Creating libraries</span><span>
</span><span id="line-510"></span><span>
</span><span id="line-511"></span><span>  </span><span id="ghcOptDynLinkMode"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag GhcDynLinkMode
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptDynLinkMode"><span class="hs-identifier hs-var hs-var">ghcOptDynLinkMode</span></a></span></span><span>   </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcDynLinkMode"><span class="hs-identifier hs-type">GhcDynLinkMode</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-512"></span><span>  </span><span id="ghcOptStaticLib"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptStaticLib"><span class="hs-identifier hs-var hs-var">ghcOptStaticLib</span></a></span></span><span>     </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span class="hs-special">,</span><span>
</span><span id="line-513"></span><span>  </span><span id="ghcOptShared"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptShared"><span class="hs-identifier hs-var hs-var">ghcOptShared</span></a></span></span><span>        </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span class="hs-special">,</span><span>
</span><span id="line-514"></span><span>  </span><span id="ghcOptFPic"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptFPic"><span class="hs-identifier hs-var hs-var">ghcOptFPic</span></a></span></span><span>          </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span class="hs-special">,</span><span>
</span><span id="line-515"></span><span>  </span><span id="ghcOptDylibName"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptDylibName"><span class="hs-identifier hs-var hs-var">ghcOptDylibName</span></a></span></span><span>     </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-516"></span><span>  </span><span id="ghcOptRPaths"><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptRPaths"><span class="hs-identifier hs-var hs-var">ghcOptRPaths</span></a></span></span><span>        </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Utils.NubList.html#NubListR"><span class="hs-identifier hs-type">NubListR</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-517"></span><span>
</span><span id="line-518"></span><span>  </span><span class="hs-comment">---------------</span><span>
</span><span id="line-519"></span><span>  </span><span class="hs-comment">-- Misc flags</span><span>
</span><span id="line-520"></span><span>
</span><span id="line-521"></span><span>  </span><span class="hs-comment">-- | Get GHC to be quiet or verbose with what it's doing; the @ghc -v@ flag.</span><span>
</span><span id="line-522"></span><span>  </span><span id="ghcOptVerbosity"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Verbosity
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptVerbosity"><span class="hs-identifier hs-var hs-var">ghcOptVerbosity</span></a></span></span><span>     </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-523"></span><span>
</span><span id="line-524"></span><span>  </span><span class="hs-comment">-- | Put the extra folders in the PATH environment variable we invoke</span><span>
</span><span id="line-525"></span><span>  </span><span class="hs-comment">-- GHC with</span><span>
</span><span id="line-526"></span><span>  </span><span id="ghcOptExtraPath"><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptExtraPath"><span class="hs-identifier hs-var hs-var">ghcOptExtraPath</span></a></span></span><span>     </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Utils.NubList.html#NubListR"><span class="hs-identifier hs-type">NubListR</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-527"></span><span>
</span><span id="line-528"></span><span>  </span><span class="hs-comment">-- | Let GHC know that it is Cabal that's calling it.</span><span>
</span><span id="line-529"></span><span>  </span><span class="hs-comment">-- Modifies some of the GHC error messages.</span><span>
</span><span id="line-530"></span><span>  </span><span id="ghcOptCabal"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptCabal"><span class="hs-identifier hs-var hs-var">ghcOptCabal</span></a></span></span><span>         </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-531"></span><span>
</span><span id="line-532"></span><span class="hs-special">}</span><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679687544"><span id="local-6989586621679687546"><span id="local-6989586621679687633"><span class="annot"><span class="annottext">Int -&gt; GhcOptions -&gt; [Char] -&gt; [Char]
[GhcOptions] -&gt; [Char] -&gt; [Char]
GhcOptions -&gt; [Char]
(Int -&gt; GhcOptions -&gt; [Char] -&gt; [Char])
-&gt; (GhcOptions -&gt; [Char])
-&gt; ([GhcOptions] -&gt; [Char] -&gt; [Char])
-&gt; Show GhcOptions
forall a.
(Int -&gt; a -&gt; [Char] -&gt; [Char])
-&gt; (a -&gt; [Char]) -&gt; ([a] -&gt; [Char] -&gt; [Char]) -&gt; Show a
showList :: [GhcOptions] -&gt; [Char] -&gt; [Char]
$cshowList :: [GhcOptions] -&gt; [Char] -&gt; [Char]
show :: GhcOptions -&gt; [Char]
$cshow :: GhcOptions -&gt; [Char]
showsPrec :: Int -&gt; GhcOptions -&gt; [Char] -&gt; [Char]
$cshowsPrec :: Int -&gt; GhcOptions -&gt; [Char] -&gt; [Char]
</span><a href="../../base/src/GHC.Show.html#Show"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Show</span></a></span></span></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">(forall x. GhcOptions -&gt; Rep GhcOptions x)
-&gt; (forall x. Rep GhcOptions x -&gt; GhcOptions) -&gt; Generic GhcOptions
forall x. Rep GhcOptions x -&gt; GhcOptions
forall x. GhcOptions -&gt; Rep GhcOptions x
forall a.
(forall x. a -&gt; Rep a x) -&gt; (forall x. Rep a x -&gt; a) -&gt; Generic a
$cto :: forall x. Rep GhcOptions x -&gt; GhcOptions
$cfrom :: forall x. GhcOptions -&gt; Rep GhcOptions x
</span><a href="../../base/src/GHC.Generics.html#Generic"><span class="hs-identifier hs-var hs-var hs-var hs-var">Generic</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-533"></span><span>
</span><span id="line-534"></span><span>
</span><span id="line-535"></span><span class="hs-keyword">data</span><span> </span><span id="GhcMode"><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcMode"><span class="hs-identifier hs-var">GhcMode</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="GhcModeCompile"><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcModeCompile"><span class="hs-identifier hs-var">GhcModeCompile</span></a></span></span><span>     </span><span class="hs-comment">-- ^ @ghc -c@</span><span>
</span><span id="line-536"></span><span>             </span><span class="hs-glyph">|</span><span> </span><span id="GhcModeLink"><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcModeLink"><span class="hs-identifier hs-var">GhcModeLink</span></a></span></span><span>        </span><span class="hs-comment">-- ^ @ghc@</span><span>
</span><span id="line-537"></span><span>             </span><span class="hs-glyph">|</span><span> </span><span id="GhcModeMake"><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcModeMake"><span class="hs-identifier hs-var">GhcModeMake</span></a></span></span><span>        </span><span class="hs-comment">-- ^ @ghc --make@</span><span>
</span><span id="line-538"></span><span>             </span><span class="hs-glyph">|</span><span> </span><span id="GhcModeInteractive"><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcModeInteractive"><span class="hs-identifier hs-var">GhcModeInteractive</span></a></span></span><span> </span><span class="hs-comment">-- ^ @ghci@ \/ @ghc --interactive@</span><span>
</span><span id="line-539"></span><span>             </span><span class="hs-glyph">|</span><span> </span><span id="GhcModeAbiHash"><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcModeAbiHash"><span class="hs-identifier hs-var">GhcModeAbiHash</span></a></span></span><span>     </span><span class="hs-comment">-- ^ @ghc --abi-hash@</span><span>
</span><span id="line-540"></span><span class="hs-comment">--             | GhcModeDepAnalysis -- ^ @ghc -M@</span><span>
</span><span id="line-541"></span><span class="hs-comment">--             | GhcModeEvaluate    -- ^ @ghc -e@</span><span>
</span><span id="line-542"></span><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679687510"><span id="local-6989586621679687512"><span id="local-6989586621679687514"><span class="annot"><span class="annottext">Int -&gt; GhcMode -&gt; [Char] -&gt; [Char]
[GhcMode] -&gt; [Char] -&gt; [Char]
GhcMode -&gt; [Char]
(Int -&gt; GhcMode -&gt; [Char] -&gt; [Char])
-&gt; (GhcMode -&gt; [Char])
-&gt; ([GhcMode] -&gt; [Char] -&gt; [Char])
-&gt; Show GhcMode
forall a.
(Int -&gt; a -&gt; [Char] -&gt; [Char])
-&gt; (a -&gt; [Char]) -&gt; ([a] -&gt; [Char] -&gt; [Char]) -&gt; Show a
showList :: [GhcMode] -&gt; [Char] -&gt; [Char]
$cshowList :: [GhcMode] -&gt; [Char] -&gt; [Char]
show :: GhcMode -&gt; [Char]
$cshow :: GhcMode -&gt; [Char]
showsPrec :: Int -&gt; GhcMode -&gt; [Char] -&gt; [Char]
$cshowsPrec :: Int -&gt; GhcMode -&gt; [Char] -&gt; [Char]
</span><a href="../../base/src/GHC.Show.html#Show"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Show</span></a></span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679687506"><span id="local-6989586621679687508"><span class="annot"><span class="annottext">GhcMode -&gt; GhcMode -&gt; Bool
(GhcMode -&gt; GhcMode -&gt; Bool)
-&gt; (GhcMode -&gt; GhcMode -&gt; Bool) -&gt; Eq GhcMode
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: GhcMode -&gt; GhcMode -&gt; Bool
$c/= :: GhcMode -&gt; GhcMode -&gt; Bool
== :: GhcMode -&gt; GhcMode -&gt; Bool
$c== :: GhcMode -&gt; GhcMode -&gt; Bool
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></span></span></span><span class="hs-special">)</span><span>
</span><span id="line-543"></span><span>
</span><span id="line-544"></span><span class="hs-keyword">data</span><span> </span><span id="GhcOptimisation"><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcOptimisation"><span class="hs-identifier hs-var">GhcOptimisation</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="GhcNoOptimisation"><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcNoOptimisation"><span class="hs-identifier hs-var">GhcNoOptimisation</span></a></span></span><span>             </span><span class="hs-comment">-- ^ @-O0@</span><span>
</span><span id="line-545"></span><span>                     </span><span class="hs-glyph">|</span><span> </span><span id="GhcNormalOptimisation"><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcNormalOptimisation"><span class="hs-identifier hs-var">GhcNormalOptimisation</span></a></span></span><span>         </span><span class="hs-comment">-- ^ @-O@</span><span>
</span><span id="line-546"></span><span>                     </span><span class="hs-glyph">|</span><span> </span><span id="GhcMaximumOptimisation"><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcMaximumOptimisation"><span class="hs-identifier hs-var">GhcMaximumOptimisation</span></a></span></span><span>        </span><span class="hs-comment">-- ^ @-O2@</span><span>
</span><span id="line-547"></span><span>                     </span><span class="hs-glyph">|</span><span> </span><span id="GhcSpecialOptimisation"><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcSpecialOptimisation"><span class="hs-identifier hs-var">GhcSpecialOptimisation</span></a></span></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-comment">-- ^ e.g. @-Odph@</span><span>
</span><span id="line-548"></span><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679687492"><span id="local-6989586621679687494"><span id="local-6989586621679687499"><span class="annot"><span class="annottext">Int -&gt; GhcOptimisation -&gt; [Char] -&gt; [Char]
[GhcOptimisation] -&gt; [Char] -&gt; [Char]
GhcOptimisation -&gt; [Char]
(Int -&gt; GhcOptimisation -&gt; [Char] -&gt; [Char])
-&gt; (GhcOptimisation -&gt; [Char])
-&gt; ([GhcOptimisation] -&gt; [Char] -&gt; [Char])
-&gt; Show GhcOptimisation
forall a.
(Int -&gt; a -&gt; [Char] -&gt; [Char])
-&gt; (a -&gt; [Char]) -&gt; ([a] -&gt; [Char] -&gt; [Char]) -&gt; Show a
showList :: [GhcOptimisation] -&gt; [Char] -&gt; [Char]
$cshowList :: [GhcOptimisation] -&gt; [Char] -&gt; [Char]
show :: GhcOptimisation -&gt; [Char]
$cshow :: GhcOptimisation -&gt; [Char]
showsPrec :: Int -&gt; GhcOptimisation -&gt; [Char] -&gt; [Char]
$cshowsPrec :: Int -&gt; GhcOptimisation -&gt; [Char] -&gt; [Char]
</span><a href="../../base/src/GHC.Show.html#Show"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Show</span></a></span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679687487"><span id="local-6989586621679687490"><span class="annot"><span class="annottext">GhcOptimisation -&gt; GhcOptimisation -&gt; Bool
(GhcOptimisation -&gt; GhcOptimisation -&gt; Bool)
-&gt; (GhcOptimisation -&gt; GhcOptimisation -&gt; Bool)
-&gt; Eq GhcOptimisation
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: GhcOptimisation -&gt; GhcOptimisation -&gt; Bool
$c/= :: GhcOptimisation -&gt; GhcOptimisation -&gt; Bool
== :: GhcOptimisation -&gt; GhcOptimisation -&gt; Bool
$c== :: GhcOptimisation -&gt; GhcOptimisation -&gt; Bool
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></span></span></span><span class="hs-special">)</span><span>
</span><span id="line-549"></span><span>
</span><span id="line-550"></span><span class="hs-keyword">data</span><span> </span><span id="GhcDynLinkMode"><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcDynLinkMode"><span class="hs-identifier hs-var">GhcDynLinkMode</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="GhcStaticOnly"><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcStaticOnly"><span class="hs-identifier hs-var">GhcStaticOnly</span></a></span></span><span>       </span><span class="hs-comment">-- ^ @-static@</span><span>
</span><span id="line-551"></span><span>                    </span><span class="hs-glyph">|</span><span> </span><span id="GhcDynamicOnly"><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcDynamicOnly"><span class="hs-identifier hs-var">GhcDynamicOnly</span></a></span></span><span>      </span><span class="hs-comment">-- ^ @-dynamic@</span><span>
</span><span id="line-552"></span><span>                    </span><span class="hs-glyph">|</span><span> </span><span id="GhcStaticAndDynamic"><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcStaticAndDynamic"><span class="hs-identifier hs-var">GhcStaticAndDynamic</span></a></span></span><span> </span><span class="hs-comment">-- ^ @-static -dynamic-too@</span><span>
</span><span id="line-553"></span><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679687478"><span id="local-6989586621679687480"><span id="local-6989586621679687482"><span class="annot"><span class="annottext">Int -&gt; GhcDynLinkMode -&gt; [Char] -&gt; [Char]
[GhcDynLinkMode] -&gt; [Char] -&gt; [Char]
GhcDynLinkMode -&gt; [Char]
(Int -&gt; GhcDynLinkMode -&gt; [Char] -&gt; [Char])
-&gt; (GhcDynLinkMode -&gt; [Char])
-&gt; ([GhcDynLinkMode] -&gt; [Char] -&gt; [Char])
-&gt; Show GhcDynLinkMode
forall a.
(Int -&gt; a -&gt; [Char] -&gt; [Char])
-&gt; (a -&gt; [Char]) -&gt; ([a] -&gt; [Char] -&gt; [Char]) -&gt; Show a
showList :: [GhcDynLinkMode] -&gt; [Char] -&gt; [Char]
$cshowList :: [GhcDynLinkMode] -&gt; [Char] -&gt; [Char]
show :: GhcDynLinkMode -&gt; [Char]
$cshow :: GhcDynLinkMode -&gt; [Char]
showsPrec :: Int -&gt; GhcDynLinkMode -&gt; [Char] -&gt; [Char]
$cshowsPrec :: Int -&gt; GhcDynLinkMode -&gt; [Char] -&gt; [Char]
</span><a href="../../base/src/GHC.Show.html#Show"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Show</span></a></span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679687474"><span id="local-6989586621679687476"><span class="annot"><span class="annottext">GhcDynLinkMode -&gt; GhcDynLinkMode -&gt; Bool
(GhcDynLinkMode -&gt; GhcDynLinkMode -&gt; Bool)
-&gt; (GhcDynLinkMode -&gt; GhcDynLinkMode -&gt; Bool) -&gt; Eq GhcDynLinkMode
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: GhcDynLinkMode -&gt; GhcDynLinkMode -&gt; Bool
$c/= :: GhcDynLinkMode -&gt; GhcDynLinkMode -&gt; Bool
== :: GhcDynLinkMode -&gt; GhcDynLinkMode -&gt; Bool
$c== :: GhcDynLinkMode -&gt; GhcDynLinkMode -&gt; Bool
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></span></span></span><span class="hs-special">)</span><span>
</span><span id="line-554"></span><span>
</span><span id="line-555"></span><span class="hs-keyword">data</span><span> </span><span id="GhcProfAuto"><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcProfAuto"><span class="hs-identifier hs-var">GhcProfAuto</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="GhcProfAutoAll"><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcProfAutoAll"><span class="hs-identifier hs-var">GhcProfAutoAll</span></a></span></span><span>       </span><span class="hs-comment">-- ^ @-fprof-auto@</span><span>
</span><span id="line-556"></span><span>                 </span><span class="hs-glyph">|</span><span> </span><span id="GhcProfAutoToplevel"><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcProfAutoToplevel"><span class="hs-identifier hs-var">GhcProfAutoToplevel</span></a></span></span><span>  </span><span class="hs-comment">-- ^ @-fprof-auto-top@</span><span>
</span><span id="line-557"></span><span>                 </span><span class="hs-glyph">|</span><span> </span><span id="GhcProfAutoExported"><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcProfAutoExported"><span class="hs-identifier hs-var">GhcProfAutoExported</span></a></span></span><span>  </span><span class="hs-comment">-- ^ @-fprof-auto-exported@</span><span>
</span><span id="line-558"></span><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679687465"><span id="local-6989586621679687467"><span id="local-6989586621679687469"><span class="annot"><span class="annottext">Int -&gt; GhcProfAuto -&gt; [Char] -&gt; [Char]
[GhcProfAuto] -&gt; [Char] -&gt; [Char]
GhcProfAuto -&gt; [Char]
(Int -&gt; GhcProfAuto -&gt; [Char] -&gt; [Char])
-&gt; (GhcProfAuto -&gt; [Char])
-&gt; ([GhcProfAuto] -&gt; [Char] -&gt; [Char])
-&gt; Show GhcProfAuto
forall a.
(Int -&gt; a -&gt; [Char] -&gt; [Char])
-&gt; (a -&gt; [Char]) -&gt; ([a] -&gt; [Char] -&gt; [Char]) -&gt; Show a
showList :: [GhcProfAuto] -&gt; [Char] -&gt; [Char]
$cshowList :: [GhcProfAuto] -&gt; [Char] -&gt; [Char]
show :: GhcProfAuto -&gt; [Char]
$cshow :: GhcProfAuto -&gt; [Char]
showsPrec :: Int -&gt; GhcProfAuto -&gt; [Char] -&gt; [Char]
$cshowsPrec :: Int -&gt; GhcProfAuto -&gt; [Char] -&gt; [Char]
</span><a href="../../base/src/GHC.Show.html#Show"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Show</span></a></span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679687461"><span id="local-6989586621679687463"><span class="annot"><span class="annottext">GhcProfAuto -&gt; GhcProfAuto -&gt; Bool
(GhcProfAuto -&gt; GhcProfAuto -&gt; Bool)
-&gt; (GhcProfAuto -&gt; GhcProfAuto -&gt; Bool) -&gt; Eq GhcProfAuto
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: GhcProfAuto -&gt; GhcProfAuto -&gt; Bool
$c/= :: GhcProfAuto -&gt; GhcProfAuto -&gt; Bool
== :: GhcProfAuto -&gt; GhcProfAuto -&gt; Bool
$c== :: GhcProfAuto -&gt; GhcProfAuto -&gt; Bool
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></span></span></span><span class="hs-special">)</span><span>
</span><span id="line-559"></span><span>
</span><span id="line-560"></span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#runGHC"><span class="hs-identifier hs-type">runGHC</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Program.Types.html#ConfiguredProgram"><span class="hs-identifier hs-type">ConfiguredProgram</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Compiler.html#Compiler"><span class="hs-identifier hs-type">Compiler</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.System.html#Platform"><span class="hs-identifier hs-type">Platform</span></a></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcOptions"><span class="hs-identifier hs-type">GhcOptions</span></a></span><span>
</span><span id="line-561"></span><span>       </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-562"></span><span id="runGHC"><span class="annot"><span class="annottext">runGHC :: Verbosity
-&gt; ConfiguredProgram -&gt; Compiler -&gt; Platform -&gt; GhcOptions -&gt; IO ()
</span><a href="Distribution.Simple.Program.GHC.html#runGHC"><span class="hs-identifier hs-var hs-var">runGHC</span></a></span></span><span> </span><span id="local-6989586621679687460"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679687460"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679687459"><span class="annot"><span class="annottext">ConfiguredProgram
</span><a href="#local-6989586621679687459"><span class="hs-identifier hs-var">ghcProg</span></a></span></span><span> </span><span id="local-6989586621679687458"><span class="annot"><span class="annottext">Compiler
</span><a href="#local-6989586621679687458"><span class="hs-identifier hs-var">comp</span></a></span></span><span> </span><span id="local-6989586621679687457"><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621679687457"><span class="hs-identifier hs-var">platform</span></a></span></span><span> </span><span id="local-6989586621679687456"><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687456"><span class="hs-identifier hs-var">opts</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-563"></span><span>  </span><span class="annot"><span class="annottext">Verbosity -&gt; ProgramInvocation -&gt; IO ()
</span><a href="Distribution.Simple.Program.Run.html#runProgramInvocation"><span class="hs-identifier hs-var">runProgramInvocation</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679687460"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ConfiguredProgram
-&gt; Compiler -&gt; Platform -&gt; GhcOptions -&gt; ProgramInvocation
</span><a href="Distribution.Simple.Program.GHC.html#ghcInvocation"><span class="hs-identifier hs-var">ghcInvocation</span></a></span><span> </span><span class="annot"><span class="annottext">ConfiguredProgram
</span><a href="#local-6989586621679687459"><span class="hs-identifier hs-var">ghcProg</span></a></span><span> </span><span class="annot"><span class="annottext">Compiler
</span><a href="#local-6989586621679687458"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621679687457"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687456"><span class="hs-identifier hs-var">opts</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-564"></span><span>
</span><span id="line-565"></span><span>
</span><span id="line-566"></span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#ghcInvocation"><span class="hs-identifier hs-type">ghcInvocation</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Program.Types.html#ConfiguredProgram"><span class="hs-identifier hs-type">ConfiguredProgram</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Compiler.html#Compiler"><span class="hs-identifier hs-type">Compiler</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.System.html#Platform"><span class="hs-identifier hs-type">Platform</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcOptions"><span class="hs-identifier hs-type">GhcOptions</span></a></span><span>
</span><span id="line-567"></span><span>              </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Program.Run.html#ProgramInvocation"><span class="hs-identifier hs-type">ProgramInvocation</span></a></span><span>
</span><span id="line-568"></span><span id="ghcInvocation"><span class="annot"><span class="annottext">ghcInvocation :: ConfiguredProgram
-&gt; Compiler -&gt; Platform -&gt; GhcOptions -&gt; ProgramInvocation
</span><a href="Distribution.Simple.Program.GHC.html#ghcInvocation"><span class="hs-identifier hs-var hs-var">ghcInvocation</span></a></span></span><span> </span><span id="local-6989586621679687454"><span class="annot"><span class="annottext">ConfiguredProgram
</span><a href="#local-6989586621679687454"><span class="hs-identifier hs-var">prog</span></a></span></span><span> </span><span id="local-6989586621679687453"><span class="annot"><span class="annottext">Compiler
</span><a href="#local-6989586621679687453"><span class="hs-identifier hs-var">comp</span></a></span></span><span> </span><span id="local-6989586621679687452"><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621679687452"><span class="hs-identifier hs-var">platform</span></a></span></span><span> </span><span id="local-6989586621679687451"><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687451"><span class="hs-identifier hs-var">opts</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-569"></span><span>    </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ConfiguredProgram -&gt; [[Char]] -&gt; ProgramInvocation
</span><a href="Distribution.Simple.Program.Run.html#programInvocation"><span class="hs-identifier hs-var">programInvocation</span></a></span><span> </span><span class="annot"><span class="annottext">ConfiguredProgram
</span><a href="#local-6989586621679687454"><span class="hs-identifier hs-var">prog</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Compiler -&gt; Platform -&gt; GhcOptions -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#renderGhcOptions"><span class="hs-identifier hs-var">renderGhcOptions</span></a></span><span> </span><span class="annot"><span class="annottext">Compiler
</span><a href="#local-6989586621679687453"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621679687452"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687451"><span class="hs-identifier hs-var">opts</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-570"></span><span>        </span><span class="annot"><span class="annottext">progInvokePathEnv :: [[Char]]
</span><a href="Distribution.Simple.Program.Run.html#progInvokePathEnv"><span class="hs-identifier hs-var">progInvokePathEnv</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">NubListR [Char] -&gt; [[Char]]
forall a. NubListR a -&gt; [a]
</span><a href="Distribution.Utils.NubList.html#fromNubListR"><span class="hs-identifier hs-var hs-var">fromNubListR</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptExtraPath"><span class="hs-identifier hs-var hs-var">ghcOptExtraPath</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687451"><span class="hs-identifier hs-var">opts</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-571"></span><span>    </span><span class="hs-special">}</span><span>
</span><span id="line-572"></span><span>
</span><span id="line-573"></span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#renderGhcOptions"><span class="hs-identifier hs-type">renderGhcOptions</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Compiler.html#Compiler"><span class="hs-identifier hs-type">Compiler</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.System.html#Platform"><span class="hs-identifier hs-type">Platform</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcOptions"><span class="hs-identifier hs-type">GhcOptions</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-574"></span><span id="renderGhcOptions"><span class="annot"><span class="annottext">renderGhcOptions :: Compiler -&gt; Platform -&gt; GhcOptions -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#renderGhcOptions"><span class="hs-identifier hs-var hs-var">renderGhcOptions</span></a></span></span><span> </span><span id="local-6989586621679687447"><span class="annot"><span class="annottext">Compiler
</span><a href="#local-6989586621679687447"><span class="hs-identifier hs-var">comp</span></a></span></span><span> </span><span id="local-6989586621679687446"><span class="annot"><span class="annottext">_platform :: Platform
</span><a href="#local-6989586621679687446"><span class="hs-identifier hs-var">_platform</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="Distribution.System.html#Platform"><span class="hs-identifier hs-type">Platform</span></a></span><span> </span><span id="local-6989586621679687444"><span class="annot"><span class="annottext">Arch
</span><a href="#local-6989586621679687444"><span class="hs-identifier hs-var">_arch</span></a></span></span><span> </span><span id="local-6989586621679687443"><span class="annot"><span class="annottext">OS
</span><a href="#local-6989586621679687443"><span class="hs-identifier hs-var">os</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679687442"><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687442"><span class="hs-identifier hs-var">opts</span></a></span></span><span>
</span><span id="line-575"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Compiler -&gt; CompilerFlavor
</span><a href="Distribution.Simple.Compiler.html#compilerFlavor"><span class="hs-identifier hs-var">compilerFlavor</span></a></span><span> </span><span class="annot"><span class="annottext">Compiler
</span><a href="#local-6989586621679687447"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">CompilerFlavor -&gt; [CompilerFlavor] -&gt; Bool
forall (t :: * -&gt; *) a. (Foldable t, Eq a) =&gt; a -&gt; t a -&gt; Bool
</span><a href="../../base/src/Data.Foldable.html#notElem"><span class="hs-operator hs-var">`notElem`</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHC"><span class="hs-identifier hs-var">GHC</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHCJS"><span class="hs-identifier hs-var">GHCJS</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-576"></span><span>    </span><span class="annot"><span class="annottext">[Char] -&gt; [[Char]]
forall a. HasCallStack =&gt; [Char] -&gt; a
</span><a href="../../base/src/GHC.Err.html#error"><span class="hs-identifier hs-var">error</span></a></span><span> </span><span class="annot"><span class="annottext">([Char] -&gt; [[Char]]) -&gt; [Char] -&gt; [[Char]]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;Distribution.Simple.Program.GHC.renderGhcOptions: &quot;</span></span><span>
</span><span id="line-577"></span><span>    </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;compiler flavor must be 'GHC' or 'GHCJS'!&quot;</span></span><span>
</span><span id="line-578"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-579"></span><span>  </span><span class="annot"><span class="annottext">[[[Char]]] -&gt; [[Char]]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span>
</span><span id="line-580"></span><span>  </span><span class="hs-special">[</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Flag GhcMode -&gt; Maybe GhcMode
forall a. Flag a -&gt; Maybe a
</span><a href="Distribution.Simple.Flag.html#flagToMaybe"><span class="hs-identifier hs-var">flagToMaybe</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag GhcMode
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptMode"><span class="hs-identifier hs-var hs-var">ghcOptMode</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687442"><span class="hs-identifier hs-var">opts</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-581"></span><span>       </span><span class="annot"><span class="annottext">Maybe GhcMode
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>                 </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-582"></span><span>       </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="annot"><span class="annottext">GhcMode
</span><a href="Distribution.Simple.Program.GHC.html#GhcModeCompile"><span class="hs-identifier hs-var">GhcModeCompile</span></a></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-c&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-583"></span><span>       </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="annot"><span class="annottext">GhcMode
</span><a href="Distribution.Simple.Program.GHC.html#GhcModeLink"><span class="hs-identifier hs-var">GhcModeLink</span></a></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-584"></span><span>       </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="annot"><span class="annottext">GhcMode
</span><a href="Distribution.Simple.Program.GHC.html#GhcModeMake"><span class="hs-identifier hs-var">GhcModeMake</span></a></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;--make&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-585"></span><span>       </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="annot"><span class="annottext">GhcMode
</span><a href="Distribution.Simple.Program.GHC.html#GhcModeInteractive"><span class="hs-identifier hs-var">GhcModeInteractive</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;--interactive&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-586"></span><span>       </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="annot"><span class="annottext">GhcMode
</span><a href="Distribution.Simple.Program.GHC.html#GhcModeAbiHash"><span class="hs-identifier hs-var">GhcModeAbiHash</span></a></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;--abi-hash&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-587"></span><span class="hs-comment">--     Just GhcModeDepAnalysis -&gt; [&quot;-M&quot;]</span><span>
</span><span id="line-588"></span><span class="hs-comment">--     Just GhcModeEvaluate    -&gt; [&quot;-e&quot;, expr]</span><span>
</span><span id="line-589"></span><span>
</span><span id="line-590"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptExtraDefault"><span class="hs-identifier hs-var hs-var">ghcOptExtraDefault</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687442"><span class="hs-identifier hs-var">opts</span></a></span><span>
</span><span id="line-591"></span><span>
</span><span id="line-592"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-no-link&quot;</span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag Bool) -&gt; Bool
</span><a href="#local-6989586621679687435"><span class="hs-identifier hs-var">flagBool</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptNoLink"><span class="hs-identifier hs-var hs-var">ghcOptNoLink</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-593"></span><span>
</span><span id="line-594"></span><span>  </span><span class="hs-comment">---------------</span><span>
</span><span id="line-595"></span><span>  </span><span class="hs-comment">-- Misc flags</span><span>
</span><span id="line-596"></span><span>
</span><span id="line-597"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[[Char]] -&gt; (Verbosity -&gt; [[Char]]) -&gt; Maybe Verbosity -&gt; [[Char]]
forall b a. b -&gt; (a -&gt; b) -&gt; Maybe a -&gt; b
</span><a href="../../base/src/Data.Maybe.html#maybe"><span class="hs-identifier hs-var">maybe</span></a></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#verbosityOpts"><span class="hs-identifier hs-var">verbosityOpts</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Flag Verbosity -&gt; Maybe Verbosity
forall a. Flag a -&gt; Maybe a
</span><a href="Distribution.Simple.Flag.html#flagToMaybe"><span class="hs-identifier hs-var">flagToMaybe</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Verbosity
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptVerbosity"><span class="hs-identifier hs-var hs-var">ghcOptVerbosity</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687442"><span class="hs-identifier hs-var">opts</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-598"></span><span>
</span><span id="line-599"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fbuilding-cabal-package&quot;</span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag Bool) -&gt; Bool
</span><a href="#local-6989586621679687435"><span class="hs-identifier hs-var">flagBool</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptCabal"><span class="hs-identifier hs-var hs-var">ghcOptCabal</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-600"></span><span>
</span><span id="line-601"></span><span>  </span><span class="hs-comment">----------------</span><span>
</span><span id="line-602"></span><span>  </span><span class="hs-comment">-- Compilation</span><span>
</span><span id="line-603"></span><span>
</span><span id="line-604"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Flag GhcOptimisation -&gt; Maybe GhcOptimisation
forall a. Flag a -&gt; Maybe a
</span><a href="Distribution.Simple.Flag.html#flagToMaybe"><span class="hs-identifier hs-var">flagToMaybe</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag GhcOptimisation
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptOptimisation"><span class="hs-identifier hs-var hs-var">ghcOptOptimisation</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687442"><span class="hs-identifier hs-var">opts</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-605"></span><span>      </span><span class="annot"><span class="annottext">Maybe GhcOptimisation
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>                         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-606"></span><span>      </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptimisation
</span><a href="Distribution.Simple.Program.GHC.html#GhcNoOptimisation"><span class="hs-identifier hs-var">GhcNoOptimisation</span></a></span><span>          </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-O0&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-607"></span><span>      </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptimisation
</span><a href="Distribution.Simple.Program.GHC.html#GhcNormalOptimisation"><span class="hs-identifier hs-var">GhcNormalOptimisation</span></a></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-O&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-608"></span><span>      </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptimisation
</span><a href="Distribution.Simple.Program.GHC.html#GhcMaximumOptimisation"><span class="hs-identifier hs-var">GhcMaximumOptimisation</span></a></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-O2&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-609"></span><span>      </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcSpecialOptimisation"><span class="hs-identifier hs-type">GhcSpecialOptimisation</span></a></span><span> </span><span id="local-6989586621679687432"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687432"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-O&quot;</span></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687432"><span class="hs-identifier hs-var">s</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-comment">-- eg -Odph</span><span>
</span><span id="line-610"></span><span>
</span><span id="line-611"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Flag DebugInfoLevel -&gt; Maybe DebugInfoLevel
forall a. Flag a -&gt; Maybe a
</span><a href="Distribution.Simple.Flag.html#flagToMaybe"><span class="hs-identifier hs-var">flagToMaybe</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag DebugInfoLevel
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptDebugInfo"><span class="hs-identifier hs-var hs-var">ghcOptDebugInfo</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687442"><span class="hs-identifier hs-var">opts</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-612"></span><span>      </span><span class="annot"><span class="annottext">Maybe DebugInfoLevel
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>                                </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-613"></span><span>      </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="annot"><span class="annottext">DebugInfoLevel
</span><a href="Distribution.Simple.Compiler.html#NoDebugInfo"><span class="hs-identifier hs-var">NoDebugInfo</span></a></span><span>                       </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-614"></span><span>      </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="annot"><span class="annottext">DebugInfoLevel
</span><a href="Distribution.Simple.Compiler.html#MinimalDebugInfo"><span class="hs-identifier hs-var">MinimalDebugInfo</span></a></span><span>                  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-g1&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-615"></span><span>      </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="annot"><span class="annottext">DebugInfoLevel
</span><a href="Distribution.Simple.Compiler.html#NormalDebugInfo"><span class="hs-identifier hs-var">NormalDebugInfo</span></a></span><span>                   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-g2&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-616"></span><span>      </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="annot"><span class="annottext">DebugInfoLevel
</span><a href="Distribution.Simple.Compiler.html#MaximalDebugInfo"><span class="hs-identifier hs-var">MaximalDebugInfo</span></a></span><span>                  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-g3&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-617"></span><span>
</span><span id="line-618"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-prof&quot;</span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag Bool) -&gt; Bool
</span><a href="#local-6989586621679687435"><span class="hs-identifier hs-var">flagBool</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptProfilingMode"><span class="hs-identifier hs-var hs-var">ghcOptProfilingMode</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-619"></span><span>
</span><span id="line-620"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Flag GhcProfAuto -&gt; Maybe GhcProfAuto
forall a. Flag a -&gt; Maybe a
</span><a href="Distribution.Simple.Flag.html#flagToMaybe"><span class="hs-identifier hs-var">flagToMaybe</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag GhcProfAuto
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptProfilingAuto"><span class="hs-identifier hs-var hs-var">ghcOptProfilingAuto</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687442"><span class="hs-identifier hs-var">opts</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-621"></span><span>      </span><span class="annot"><span class="annottext">Maybe GhcProfAuto
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool
</span><span class="hs-identifier hs-var">not</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag Bool) -&gt; Bool
</span><a href="#local-6989586621679687435"><span class="hs-identifier hs-var">flagBool</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptProfilingMode"><span class="hs-identifier hs-var hs-var">ghcOptProfilingMode</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-622"></span><span>                                </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-623"></span><span>      </span><span class="annot"><span class="annottext">Maybe GhcProfAuto
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>                   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-624"></span><span>      </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="annot"><span class="annottext">GhcProfAuto
</span><a href="Distribution.Simple.Program.GHC.html#GhcProfAutoAll"><span class="hs-identifier hs-var">GhcProfAutoAll</span></a></span><span>
</span><span id="line-625"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">GhcImplInfo -&gt; Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#flagProfAuto"><span class="hs-identifier hs-var hs-var">flagProfAuto</span></a></span><span> </span><span class="annot"><span class="annottext">GhcImplInfo
</span><a href="#local-6989586621679687426"><span class="hs-identifier hs-var">implInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fprof-auto&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-626"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>             </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-auto-all&quot;</span></span><span class="hs-special">]</span><span> </span><span class="hs-comment">-- not the same, but close</span><span>
</span><span id="line-627"></span><span>      </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="annot"><span class="annottext">GhcProfAuto
</span><a href="Distribution.Simple.Program.GHC.html#GhcProfAutoToplevel"><span class="hs-identifier hs-var">GhcProfAutoToplevel</span></a></span><span>
</span><span id="line-628"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">GhcImplInfo -&gt; Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#flagProfAuto"><span class="hs-identifier hs-var hs-var">flagProfAuto</span></a></span><span> </span><span class="annot"><span class="annottext">GhcImplInfo
</span><a href="#local-6989586621679687426"><span class="hs-identifier hs-var">implInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fprof-auto-top&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-629"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>             </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-auto-all&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-630"></span><span>      </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="annot"><span class="annottext">GhcProfAuto
</span><a href="Distribution.Simple.Program.GHC.html#GhcProfAutoExported"><span class="hs-identifier hs-var">GhcProfAutoExported</span></a></span><span>
</span><span id="line-631"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">GhcImplInfo -&gt; Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#flagProfAuto"><span class="hs-identifier hs-var hs-var">flagProfAuto</span></a></span><span> </span><span class="annot"><span class="annottext">GhcImplInfo
</span><a href="#local-6989586621679687426"><span class="hs-identifier hs-var">implInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fprof-auto-exported&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-632"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>             </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-auto&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-633"></span><span>
</span><span id="line-634"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-split-sections&quot;</span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag Bool) -&gt; Bool
</span><a href="#local-6989586621679687435"><span class="hs-identifier hs-var">flagBool</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptSplitSections"><span class="hs-identifier hs-var hs-var">ghcOptSplitSections</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-635"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-split-objs&quot;</span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag Bool) -&gt; Bool
</span><a href="#local-6989586621679687435"><span class="hs-identifier hs-var">flagBool</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptSplitObjs"><span class="hs-identifier hs-var hs-var">ghcOptSplitObjs</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-636"></span><span>
</span><span id="line-637"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Flag [Char] -&gt; Maybe [Char]
forall a. Flag a -&gt; Maybe a
</span><a href="Distribution.Simple.Flag.html#flagToMaybe"><span class="hs-identifier hs-var">flagToMaybe</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptHPCDir"><span class="hs-identifier hs-var hs-var">ghcOptHPCDir</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687442"><span class="hs-identifier hs-var">opts</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-638"></span><span>      </span><span class="annot"><span class="annottext">Maybe [Char]
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-639"></span><span>      </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621679687425"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687425"><span class="hs-identifier hs-var">hpcdir</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fhpc&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-hpcdir&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687425"><span class="hs-identifier hs-var">hpcdir</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-640"></span><span>
</span><span id="line-641"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Compiler -&gt; Bool
</span><a href="Distribution.Simple.Compiler.html#parmakeSupported"><span class="hs-identifier hs-var">parmakeSupported</span></a></span><span> </span><span class="annot"><span class="annottext">Compiler
</span><a href="#local-6989586621679687447"><span class="hs-identifier hs-var">comp</span></a></span><span>
</span><span id="line-642"></span><span>    </span><span class="hs-keyword">then</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag (Maybe Int)
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptNumJobs"><span class="hs-identifier hs-var hs-var">ghcOptNumJobs</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687442"><span class="hs-identifier hs-var">opts</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-643"></span><span>      </span><span class="annot"><span class="annottext">Flag (Maybe Int)
</span><a href="Distribution.Simple.Flag.html#NoFlag"><span class="hs-identifier hs-var">NoFlag</span></a></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-644"></span><span>      </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span id="local-6989586621679687421"><span class="annot"><span class="annottext">Maybe Int
</span><a href="#local-6989586621679687421"><span class="hs-identifier hs-var">n</span></a></span></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-j&quot;</span></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; (Int -&gt; [Char]) -&gt; Maybe Int -&gt; [Char]
forall b a. b -&gt; (a -&gt; b) -&gt; Maybe a -&gt; b
</span><a href="../../base/src/Data.Maybe.html#maybe"><span class="hs-identifier hs-var">maybe</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;&quot;</span></span><span> </span><span class="annot"><span class="annottext">Int -&gt; [Char]
forall a. Show a =&gt; a -&gt; [Char]
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe Int
</span><a href="#local-6989586621679687421"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-645"></span><span>    </span><span class="hs-keyword">else</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-646"></span><span>
</span><span id="line-647"></span><span>  </span><span class="hs-comment">--------------------</span><span>
</span><span id="line-648"></span><span>  </span><span class="hs-comment">-- Creating libraries</span><span>
</span><span id="line-649"></span><span>
</span><span id="line-650"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-staticlib&quot;</span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag Bool) -&gt; Bool
</span><a href="#local-6989586621679687435"><span class="hs-identifier hs-var">flagBool</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptStaticLib"><span class="hs-identifier hs-var hs-var">ghcOptStaticLib</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-651"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-shared&quot;</span></span><span>    </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag Bool) -&gt; Bool
</span><a href="#local-6989586621679687435"><span class="hs-identifier hs-var">flagBool</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptShared"><span class="hs-identifier hs-var hs-var">ghcOptShared</span></a></span><span>    </span><span class="hs-special">]</span><span>
</span><span id="line-652"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Flag GhcDynLinkMode -&gt; Maybe GhcDynLinkMode
forall a. Flag a -&gt; Maybe a
</span><a href="Distribution.Simple.Flag.html#flagToMaybe"><span class="hs-identifier hs-var">flagToMaybe</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag GhcDynLinkMode
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptDynLinkMode"><span class="hs-identifier hs-var hs-var">ghcOptDynLinkMode</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687442"><span class="hs-identifier hs-var">opts</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-653"></span><span>      </span><span class="annot"><span class="annottext">Maybe GhcDynLinkMode
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>                  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-654"></span><span>      </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="annot"><span class="annottext">GhcDynLinkMode
</span><a href="Distribution.Simple.Program.GHC.html#GhcStaticOnly"><span class="hs-identifier hs-var">GhcStaticOnly</span></a></span><span>       </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-static&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-655"></span><span>      </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="annot"><span class="annottext">GhcDynLinkMode
</span><a href="Distribution.Simple.Program.GHC.html#GhcDynamicOnly"><span class="hs-identifier hs-var">GhcDynamicOnly</span></a></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-dynamic&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-656"></span><span>      </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="annot"><span class="annottext">GhcDynLinkMode
</span><a href="Distribution.Simple.Program.GHC.html#GhcStaticAndDynamic"><span class="hs-identifier hs-var">GhcStaticAndDynamic</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-static&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-dynamic-too&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-657"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fPIC&quot;</span></span><span>    </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag Bool) -&gt; Bool
</span><a href="#local-6989586621679687435"><span class="hs-identifier hs-var">flagBool</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptFPic"><span class="hs-identifier hs-var hs-var">ghcOptFPic</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-658"></span><span>
</span><span id="line-659"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[[[Char]]] -&gt; [[Char]]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-dylib-install-name&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687419"><span class="hs-identifier hs-var">libname</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687419"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687419"><span class="hs-identifier hs-var">libname</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag [Char]) -&gt; [[Char]]
forall {a}. (GhcOptions -&gt; Flag a) -&gt; [a]
</span><a href="#local-6989586621679687418"><span class="hs-identifier hs-var">flag</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptDylibName"><span class="hs-identifier hs-var hs-var">ghcOptDylibName</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-660"></span><span>
</span><span id="line-661"></span><span>  </span><span class="hs-comment">------------------------</span><span>
</span><span id="line-662"></span><span>  </span><span class="hs-comment">-- Redirecting outputs</span><span>
</span><span id="line-663"></span><span>
</span><span id="line-664"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[[[Char]]] -&gt; [[Char]]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-osuf&quot;</span></span><span class="hs-special">,</span><span>    </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687417"><span class="hs-identifier hs-var">suf</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687417"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687417"><span class="hs-identifier hs-var">suf</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag [Char]) -&gt; [[Char]]
forall {a}. (GhcOptions -&gt; Flag a) -&gt; [a]
</span><a href="#local-6989586621679687418"><span class="hs-identifier hs-var">flag</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptObjSuffix"><span class="hs-identifier hs-var hs-var">ghcOptObjSuffix</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-665"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[[[Char]]] -&gt; [[Char]]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-hisuf&quot;</span></span><span class="hs-special">,</span><span>   </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687416"><span class="hs-identifier hs-var">suf</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687416"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687416"><span class="hs-identifier hs-var">suf</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag [Char]) -&gt; [[Char]]
forall {a}. (GhcOptions -&gt; Flag a) -&gt; [a]
</span><a href="#local-6989586621679687418"><span class="hs-identifier hs-var">flag</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptHiSuffix"><span class="hs-identifier hs-var hs-var">ghcOptHiSuffix</span></a></span><span>  </span><span class="hs-special">]</span><span>
</span><span id="line-666"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[[[Char]]] -&gt; [[Char]]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-dynosuf&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687415"><span class="hs-identifier hs-var">suf</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687415"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687415"><span class="hs-identifier hs-var">suf</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag [Char]) -&gt; [[Char]]
forall {a}. (GhcOptions -&gt; Flag a) -&gt; [a]
</span><a href="#local-6989586621679687418"><span class="hs-identifier hs-var">flag</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptDynObjSuffix"><span class="hs-identifier hs-var hs-var">ghcOptDynObjSuffix</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-667"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[[[Char]]] -&gt; [[Char]]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-dynhisuf&quot;</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687414"><span class="hs-identifier hs-var">suf</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687414"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687414"><span class="hs-identifier hs-var">suf</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag [Char]) -&gt; [[Char]]
forall {a}. (GhcOptions -&gt; Flag a) -&gt; [a]
</span><a href="#local-6989586621679687418"><span class="hs-identifier hs-var">flag</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptDynHiSuffix"><span class="hs-identifier hs-var hs-var">ghcOptDynHiSuffix</span></a></span><span>  </span><span class="hs-special">]</span><span>
</span><span id="line-668"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[[[Char]]] -&gt; [[Char]]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-outputdir&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687413"><span class="hs-identifier hs-var">dir</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687413"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687413"><span class="hs-identifier hs-var">dir</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag [Char]) -&gt; [[Char]]
forall {a}. (GhcOptions -&gt; Flag a) -&gt; [a]
</span><a href="#local-6989586621679687418"><span class="hs-identifier hs-var">flag</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptOutputDir"><span class="hs-identifier hs-var hs-var">ghcOptOutputDir</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-669"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[[[Char]]] -&gt; [[Char]]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-odir&quot;</span></span><span class="hs-special">,</span><span>    </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687412"><span class="hs-identifier hs-var">dir</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687412"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687412"><span class="hs-identifier hs-var">dir</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag [Char]) -&gt; [[Char]]
forall {a}. (GhcOptions -&gt; Flag a) -&gt; [a]
</span><a href="#local-6989586621679687418"><span class="hs-identifier hs-var">flag</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptObjDir"><span class="hs-identifier hs-var hs-var">ghcOptObjDir</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-670"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[[[Char]]] -&gt; [[Char]]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-hidir&quot;</span></span><span class="hs-special">,</span><span>   </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687411"><span class="hs-identifier hs-var">dir</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687411"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687411"><span class="hs-identifier hs-var">dir</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag [Char]) -&gt; [[Char]]
forall {a}. (GhcOptions -&gt; Flag a) -&gt; [a]
</span><a href="#local-6989586621679687418"><span class="hs-identifier hs-var">flag</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptHiDir"><span class="hs-identifier hs-var hs-var">ghcOptHiDir</span></a></span><span>  </span><span class="hs-special">]</span><span>
</span><span id="line-671"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[[[Char]]] -&gt; [[Char]]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-stubdir&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687410"><span class="hs-identifier hs-var">dir</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687410"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687410"><span class="hs-identifier hs-var">dir</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag [Char]) -&gt; [[Char]]
forall {a}. (GhcOptions -&gt; Flag a) -&gt; [a]
</span><a href="#local-6989586621679687418"><span class="hs-identifier hs-var">flag</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptStubDir"><span class="hs-identifier hs-var hs-var">ghcOptStubDir</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-672"></span><span>
</span><span id="line-673"></span><span>  </span><span class="hs-comment">-----------------------</span><span>
</span><span id="line-674"></span><span>  </span><span class="hs-comment">-- Source search path</span><span>
</span><span id="line-675"></span><span>
</span><span id="line-676"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-i&quot;</span></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag Bool) -&gt; Bool
</span><a href="#local-6989586621679687435"><span class="hs-identifier hs-var">flagBool</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptSourcePathClear"><span class="hs-identifier hs-var hs-var">ghcOptSourcePathClear</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-677"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-i&quot;</span></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687409"><span class="hs-identifier hs-var">dir</span></a></span><span> </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687409"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687409"><span class="hs-identifier hs-var">dir</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; NubListR [Char]) -&gt; [[Char]]
forall {a}. (GhcOptions -&gt; NubListR a) -&gt; [a]
</span><a href="#local-6989586621679687408"><span class="hs-identifier hs-var">flags</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptSourcePath"><span class="hs-identifier hs-var hs-var">ghcOptSourcePath</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-678"></span><span>
</span><span id="line-679"></span><span>  </span><span class="hs-comment">--------------------</span><span>
</span><span id="line-680"></span><span>
</span><span id="line-681"></span><span>  </span><span class="hs-comment">--------------------</span><span>
</span><span id="line-682"></span><span>  </span><span class="hs-comment">-- CPP, C, and C++ stuff</span><span>
</span><span id="line-683"></span><span>
</span><span id="line-684"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-I&quot;</span></span><span>    </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687407"><span class="hs-identifier hs-var">dir</span></a></span><span> </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687407"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687407"><span class="hs-identifier hs-var">dir</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; NubListR [Char]) -&gt; [[Char]]
forall {a}. (GhcOptions -&gt; NubListR a) -&gt; [a]
</span><a href="#local-6989586621679687408"><span class="hs-identifier hs-var">flags</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptCppIncludePath"><span class="hs-identifier hs-var hs-var">ghcOptCppIncludePath</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-685"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-optP&quot;</span></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687406"><span class="hs-identifier hs-var">opt</span></a></span><span> </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687406"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687406"><span class="hs-identifier hs-var">opt</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptCppOptions"><span class="hs-identifier hs-var hs-var">ghcOptCppOptions</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687442"><span class="hs-identifier hs-var">opts</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-686"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[[[Char]]] -&gt; [[Char]]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-optP-include&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-optP&quot;</span></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687405"><span class="hs-identifier hs-var">inc</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-687"></span><span>           </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687405"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687405"><span class="hs-identifier hs-var">inc</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; NubListR [Char]) -&gt; [[Char]]
forall {a}. (GhcOptions -&gt; NubListR a) -&gt; [a]
</span><a href="#local-6989586621679687408"><span class="hs-identifier hs-var">flags</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptCppIncludes"><span class="hs-identifier hs-var hs-var">ghcOptCppIncludes</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-688"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-optc&quot;</span></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687404"><span class="hs-identifier hs-var">opt</span></a></span><span> </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687404"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687404"><span class="hs-identifier hs-var">opt</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptCcOptions"><span class="hs-identifier hs-var hs-var">ghcOptCcOptions</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687442"><span class="hs-identifier hs-var">opts</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-689"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-comment">-- C++ compiler options: GHC &gt;= 8.10 requires -optcxx, older requires -optc</span><span>
</span><span id="line-690"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679687401"><span class="annot"><span class="annottext">cxxflag :: [Char]
</span><a href="#local-6989586621679687401"><span class="hs-identifier hs-var hs-var">cxxflag</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">CompilerFlavor -&gt; Compiler -&gt; Maybe Version
</span><a href="Distribution.Simple.Compiler.html#compilerCompatVersion"><span class="hs-identifier hs-var">compilerCompatVersion</span></a></span><span> </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHC"><span class="hs-identifier hs-var">GHC</span></a></span><span> </span><span class="annot"><span class="annottext">Compiler
</span><a href="#local-6989586621679687447"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-691"></span><span>                </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621679687399"><span class="annot"><span class="annottext">Version
</span><a href="#local-6989586621679687399"><span class="hs-identifier hs-var">v</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Version
</span><a href="#local-6989586621679687399"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="annot"><span class="annottext">Version -&gt; Version -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&gt;=</span></span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; Version
</span><a href="Distribution.Types.Version.html#mkVersion"><span class="hs-identifier hs-var">mkVersion</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">10</span></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-optcxx&quot;</span></span><span>
</span><span id="line-692"></span><span>                </span><span class="annot"><span class="annottext">Maybe Version
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-optc&quot;</span></span><span>
</span><span id="line-693"></span><span>    </span><span class="hs-keyword">in</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687401"><span class="hs-identifier hs-var">cxxflag</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687398"><span class="hs-identifier hs-var">opt</span></a></span><span> </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687398"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687398"><span class="hs-identifier hs-var">opt</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptCxxOptions"><span class="hs-identifier hs-var hs-var">ghcOptCxxOptions</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687442"><span class="hs-identifier hs-var">opts</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-694"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-opta&quot;</span></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687397"><span class="hs-identifier hs-var">opt</span></a></span><span> </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687397"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687397"><span class="hs-identifier hs-var">opt</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptAsmOptions"><span class="hs-identifier hs-var hs-var">ghcOptAsmOptions</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687442"><span class="hs-identifier hs-var">opts</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-695"></span><span>
</span><span id="line-696"></span><span>  </span><span class="hs-comment">-----------------</span><span>
</span><span id="line-697"></span><span>  </span><span class="hs-comment">-- Linker stuff</span><span>
</span><span id="line-698"></span><span>
</span><span id="line-699"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-optl&quot;</span></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687396"><span class="hs-identifier hs-var">opt</span></a></span><span> </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687396"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687396"><span class="hs-identifier hs-var">opt</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptLinkOptions"><span class="hs-identifier hs-var hs-var">ghcOptLinkOptions</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687442"><span class="hs-identifier hs-var">opts</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-700"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-l&quot;</span></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687395"><span class="hs-identifier hs-var">lib</span></a></span><span>     </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687395"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687395"><span class="hs-identifier hs-var">lib</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptLinkLibs"><span class="hs-identifier hs-var hs-var">ghcOptLinkLibs</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687442"><span class="hs-identifier hs-var">opts</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-701"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-L&quot;</span></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687394"><span class="hs-identifier hs-var">dir</span></a></span><span>     </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687394"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687394"><span class="hs-identifier hs-var">dir</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; NubListR [Char]) -&gt; [[Char]]
forall {a}. (GhcOptions -&gt; NubListR a) -&gt; [a]
</span><a href="#local-6989586621679687408"><span class="hs-identifier hs-var">flags</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptLinkLibPath"><span class="hs-identifier hs-var hs-var">ghcOptLinkLibPath</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-702"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679687393"><span class="hs-identifier hs-var">isOSX</span></a></span><span>
</span><span id="line-703"></span><span>    </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">[[[Char]]] -&gt; [[Char]]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-framework&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687392"><span class="hs-identifier hs-var">fmwk</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-704"></span><span>                </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687392"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687392"><span class="hs-identifier hs-var">fmwk</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; NubListR [Char]) -&gt; [[Char]]
forall {a}. (GhcOptions -&gt; NubListR a) -&gt; [a]
</span><a href="#local-6989586621679687408"><span class="hs-identifier hs-var">flags</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptLinkFrameworks"><span class="hs-identifier hs-var hs-var">ghcOptLinkFrameworks</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-705"></span><span>    </span><span class="hs-keyword">else</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-706"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679687393"><span class="hs-identifier hs-var">isOSX</span></a></span><span>
</span><span id="line-707"></span><span>    </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">[[[Char]]] -&gt; [[Char]]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-framework-path&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687391"><span class="hs-identifier hs-var">path</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-708"></span><span>                </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687391"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687391"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; NubListR [Char]) -&gt; [[Char]]
forall {a}. (GhcOptions -&gt; NubListR a) -&gt; [a]
</span><a href="#local-6989586621679687408"><span class="hs-identifier hs-var">flags</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptLinkFrameworkDirs"><span class="hs-identifier hs-var hs-var">ghcOptLinkFrameworkDirs</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-709"></span><span>    </span><span class="hs-keyword">else</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-710"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-no-hs-main&quot;</span></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag Bool) -&gt; Bool
</span><a href="#local-6989586621679687435"><span class="hs-identifier hs-var">flagBool</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptLinkNoHsMain"><span class="hs-identifier hs-var hs-var">ghcOptLinkNoHsMain</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-711"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-dynload deploy&quot;</span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool
</span><span class="hs-identifier hs-var">not</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[[Char]] -&gt; Bool
forall (t :: * -&gt; *) a. Foldable t =&gt; t a -&gt; Bool
</span><a href="../../base/src/Data.Foldable.html#null"><span class="hs-identifier hs-var">null</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(GhcOptions -&gt; NubListR [Char]) -&gt; [[Char]]
forall {a}. (GhcOptions -&gt; NubListR a) -&gt; [a]
</span><a href="#local-6989586621679687408"><span class="hs-identifier hs-var">flags</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptRPaths"><span class="hs-identifier hs-var hs-var">ghcOptRPaths</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-712"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[[[Char]]] -&gt; [[Char]]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-optl-Wl,-rpath,&quot;</span></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687390"><span class="hs-identifier hs-var">dir</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-713"></span><span>           </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687390"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687390"><span class="hs-identifier hs-var">dir</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; NubListR [Char]) -&gt; [[Char]]
forall {a}. (GhcOptions -&gt; NubListR a) -&gt; [a]
</span><a href="#local-6989586621679687408"><span class="hs-identifier hs-var">flags</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptRPaths"><span class="hs-identifier hs-var hs-var">ghcOptRPaths</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-714"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687389"><span class="hs-identifier hs-var">modDefFile</span></a></span><span> </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687389"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687389"><span class="hs-identifier hs-var">modDefFile</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; NubListR [Char]) -&gt; [[Char]]
forall {a}. (GhcOptions -&gt; NubListR a) -&gt; [a]
</span><a href="#local-6989586621679687408"><span class="hs-identifier hs-var">flags</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptLinkModDefFiles"><span class="hs-identifier hs-var hs-var">ghcOptLinkModDefFiles</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-715"></span><span>
</span><span id="line-716"></span><span>  </span><span class="hs-comment">-------------</span><span>
</span><span id="line-717"></span><span>  </span><span class="hs-comment">-- Packages</span><span>
</span><span id="line-718"></span><span>
</span><span id="line-719"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[[[Char]]] -&gt; [[Char]]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="hs-special">[</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-720"></span><span>                </span><span class="annot"><span class="annottext">()
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Compiler -&gt; Bool
</span><a href="Distribution.Simple.Compiler.html#unitIdSupported"><span class="hs-identifier hs-var">unitIdSupported</span></a></span><span> </span><span class="annot"><span class="annottext">Compiler
</span><a href="#local-6989586621679687447"><span class="hs-identifier hs-var">comp</span></a></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-this-unit-id&quot;</span></span><span>
</span><span id="line-721"></span><span>                  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Compiler -&gt; Bool
</span><a href="Distribution.Simple.Compiler.html#packageKeySupported"><span class="hs-identifier hs-var">packageKeySupported</span></a></span><span> </span><span class="annot"><span class="annottext">Compiler
</span><a href="#local-6989586621679687447"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-this-package-key&quot;</span></span><span>
</span><span id="line-722"></span><span>                  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>                </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-package-name&quot;</span></span><span>
</span><span id="line-723"></span><span>             </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687386"><span class="hs-identifier hs-var">this_arg</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-724"></span><span>             </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687386"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687386"><span class="hs-identifier hs-var">this_arg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag [Char]) -&gt; [[Char]]
forall {a}. (GhcOptions -&gt; Flag a) -&gt; [a]
</span><a href="#local-6989586621679687418"><span class="hs-identifier hs-var">flag</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptThisUnitId"><span class="hs-identifier hs-var hs-var">ghcOptThisUnitId</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-725"></span><span>
</span><span id="line-726"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[[[Char]]] -&gt; [[Char]]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-this-component-id&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">ComponentId -&gt; [Char]
forall a. Pretty a =&gt; a -&gt; [Char]
</span><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier hs-var">prettyShow</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentId
</span><a href="#local-6989586621679687384"><span class="hs-identifier hs-var">this_cid</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-727"></span><span>           </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687384"><span class="annot"><span class="annottext">ComponentId
</span><a href="#local-6989586621679687384"><span class="hs-identifier hs-var">this_cid</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag ComponentId) -&gt; [ComponentId]
forall {a}. (GhcOptions -&gt; Flag a) -&gt; [a]
</span><a href="#local-6989586621679687418"><span class="hs-identifier hs-var">flag</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag ComponentId
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptThisComponentId"><span class="hs-identifier hs-var hs-var">ghcOptThisComponentId</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-728"></span><span>
</span><span id="line-729"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">[(ModuleName, OpenModule)] -&gt; Bool
forall (t :: * -&gt; *) a. Foldable t =&gt; t a -&gt; Bool
</span><a href="../../base/src/Data.Foldable.html#null"><span class="hs-identifier hs-var">null</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GhcOptions -&gt; [(ModuleName, OpenModule)]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptInstantiatedWith"><span class="hs-identifier hs-var hs-var">ghcOptInstantiatedWith</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687442"><span class="hs-identifier hs-var">opts</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-730"></span><span>        </span><span class="hs-keyword">then</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-731"></span><span>        </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-instantiated-with&quot;</span></span><span>
</span><span id="line-732"></span><span>             </span><span class="annot"><span class="annottext">[Char] -&gt; [[Char]] -&gt; [[Char]]
forall a. a -&gt; [a] -&gt; [a]
</span><span class="hs-glyph hs-var">:</span></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [[Char]] -&gt; [Char]
forall a. [a] -&gt; [[a]] -&gt; [a]
</span><a href="../../base/src/Data.OldList.html#intercalate"><span class="hs-identifier hs-var">intercalate</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;,&quot;</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">((ModuleName, OpenModule) -&gt; [Char])
-&gt; [(ModuleName, OpenModule)] -&gt; [[Char]]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span class="hs-special">(</span><span id="local-6989586621679687382"><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679687382"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">,</span><span id="local-6989586621679687381"><span class="annot"><span class="annottext">OpenModule
</span><a href="#local-6989586621679687381"><span class="hs-identifier hs-var">m</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ModuleName -&gt; [Char]
forall a. Pretty a =&gt; a -&gt; [Char]
</span><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier hs-var">prettyShow</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679687382"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;=&quot;</span></span><span>
</span><span id="line-733"></span><span>                                            </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">OpenModule -&gt; [Char]
forall a. Pretty a =&gt; a -&gt; [Char]
</span><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier hs-var">prettyShow</span></a></span><span> </span><span class="annot"><span class="annottext">OpenModule
</span><a href="#local-6989586621679687381"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-734"></span><span>                                    </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GhcOptions -&gt; [(ModuleName, OpenModule)]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptInstantiatedWith"><span class="hs-identifier hs-var hs-var">ghcOptInstantiatedWith</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687442"><span class="hs-identifier hs-var">opts</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-735"></span><span>             </span><span class="annot"><span class="annottext">[Char] -&gt; [[Char]] -&gt; [[Char]]
forall a. a -&gt; [a] -&gt; [a]
</span><span class="hs-glyph hs-var">:</span></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-736"></span><span>
</span><span id="line-737"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[[[Char]]] -&gt; [[Char]]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fno-code&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-fwrite-interface&quot;</span></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag Bool) -&gt; Bool
</span><a href="#local-6989586621679687435"><span class="hs-identifier hs-var">flagBool</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptNoCode"><span class="hs-identifier hs-var hs-var">ghcOptNoCode</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-738"></span><span>
</span><span id="line-739"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-hide-all-packages&quot;</span></span><span>     </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag Bool) -&gt; Bool
</span><a href="#local-6989586621679687435"><span class="hs-identifier hs-var">flagBool</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptHideAllPackages"><span class="hs-identifier hs-var hs-var">ghcOptHideAllPackages</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-740"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-Wmissing-home-modules&quot;</span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag Bool) -&gt; Bool
</span><a href="#local-6989586621679687435"><span class="hs-identifier hs-var">flagBool</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptWarnMissingHomeModules"><span class="hs-identifier hs-var hs-var">ghcOptWarnMissingHomeModules</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-741"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-no-auto-link-packages&quot;</span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag Bool) -&gt; Bool
</span><a href="#local-6989586621679687435"><span class="hs-identifier hs-var">flagBool</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptNoAutoLinkPackages"><span class="hs-identifier hs-var hs-var">ghcOptNoAutoLinkPackages</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-742"></span><span>
</span><span id="line-743"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">GhcImplInfo -&gt; PackageDBStack -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#packageDbArgs"><span class="hs-identifier hs-var">packageDbArgs</span></a></span><span> </span><span class="annot"><span class="annottext">GhcImplInfo
</span><a href="#local-6989586621679687426"><span class="hs-identifier hs-var">implInfo</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GhcOptions -&gt; PackageDBStack
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptPackageDBs"><span class="hs-identifier hs-var hs-var">ghcOptPackageDBs</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687442"><span class="hs-identifier hs-var">opts</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-744"></span><span>
</span><span id="line-745"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[[[Char]]] -&gt; [[Char]]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="annot"><span class="annottext">([[[Char]]] -&gt; [[Char]]) -&gt; [[[Char]]] -&gt; [[Char]]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679687379"><span class="annot"><span class="annottext">space :: [Char] -&gt; [Char]
</span><a href="#local-6989586621679687379"><span class="hs-identifier hs-var hs-var">space</span></a></span></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;&quot;</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;&quot;</span></span><span>
</span><span id="line-746"></span><span>                 </span><span class="annot"><a href="#local-6989586621679687379"><span class="hs-identifier hs-var">space</span></a></span><span> </span><span id="local-6989586621679687378"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687378"><span class="hs-identifier hs-var">xs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">' '</span></span><span> </span><span class="annot"><span class="annottext">Char -&gt; [Char] -&gt; [Char]
forall a. a -&gt; [a] -&gt; [a]
</span><span class="hs-glyph hs-var">:</span></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687378"><span class="hs-identifier hs-var">xs</span></a></span><span>
</span><span id="line-747"></span><span>             </span><span class="hs-keyword">in</span><span> </span><span class="hs-special">[</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-package-id&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">OpenUnitId -&gt; [Char]
forall a. Pretty a =&gt; a -&gt; [Char]
</span><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier hs-var">prettyShow</span></a></span><span> </span><span class="annot"><span class="annottext">OpenUnitId
</span><a href="#local-6989586621679687377"><span class="hs-identifier hs-var">ipkgid</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char]
</span><a href="#local-6989586621679687379"><span class="hs-identifier hs-var">space</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ModuleRenaming -&gt; [Char]
forall a. Pretty a =&gt; a -&gt; [Char]
</span><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier hs-var">prettyShow</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleRenaming
</span><a href="#local-6989586621679687376"><span class="hs-identifier hs-var">rns</span></a></span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><span id="line-748"></span><span>                </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679687377"><span class="annot"><span class="annottext">OpenUnitId
</span><a href="#local-6989586621679687377"><span class="hs-identifier hs-var">ipkgid</span></a></span></span><span class="hs-special">,</span><span id="local-6989586621679687376"><span class="annot"><span class="annottext">ModuleRenaming
</span><a href="#local-6989586621679687376"><span class="hs-identifier hs-var">rns</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; NubListR (OpenUnitId, ModuleRenaming))
-&gt; [(OpenUnitId, ModuleRenaming)]
forall {a}. (GhcOptions -&gt; NubListR a) -&gt; [a]
</span><a href="#local-6989586621679687408"><span class="hs-identifier hs-var">flags</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR (OpenUnitId, ModuleRenaming)
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptPackages"><span class="hs-identifier hs-var hs-var">ghcOptPackages</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-749"></span><span>
</span><span id="line-750"></span><span>  </span><span class="hs-comment">----------------------------</span><span>
</span><span id="line-751"></span><span>  </span><span class="hs-comment">-- Language and extensions</span><span>
</span><span id="line-752"></span><span>
</span><span id="line-753"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">GhcImplInfo -&gt; Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#supportsHaskell2010"><span class="hs-identifier hs-var hs-var">supportsHaskell2010</span></a></span><span> </span><span class="annot"><span class="annottext">GhcImplInfo
</span><a href="#local-6989586621679687426"><span class="hs-identifier hs-var">implInfo</span></a></span><span>
</span><span id="line-754"></span><span>    </span><span class="hs-keyword">then</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-X&quot;</span></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">Language -&gt; [Char]
forall a. Pretty a =&gt; a -&gt; [Char]
</span><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier hs-var">prettyShow</span></a></span><span> </span><span class="annot"><span class="annottext">Language
</span><a href="#local-6989586621679687374"><span class="hs-identifier hs-var">lang</span></a></span><span> </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687374"><span class="annot"><span class="annottext">Language
</span><a href="#local-6989586621679687374"><span class="hs-identifier hs-var">lang</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag Language) -&gt; [Language]
forall {a}. (GhcOptions -&gt; Flag a) -&gt; [a]
</span><a href="#local-6989586621679687418"><span class="hs-identifier hs-var">flag</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Language
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptLanguage"><span class="hs-identifier hs-var hs-var">ghcOptLanguage</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-755"></span><span>    </span><span class="hs-keyword">else</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-756"></span><span>
</span><span id="line-757"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687373"><span class="hs-identifier hs-var">ext'</span></a></span><span>
</span><span id="line-758"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687372"><span class="annot"><span class="annottext">Extension
</span><a href="#local-6989586621679687372"><span class="hs-identifier hs-var">ext</span></a></span></span><span>  </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; NubListR Extension) -&gt; [Extension]
forall {a}. (GhcOptions -&gt; NubListR a) -&gt; [a]
</span><a href="#local-6989586621679687408"><span class="hs-identifier hs-var">flags</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR Extension
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptExtensions"><span class="hs-identifier hs-var hs-var">ghcOptExtensions</span></a></span><span>
</span><span id="line-759"></span><span>    </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679687373"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687373"><span class="hs-identifier hs-var">ext'</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Extension -&gt; Map Extension (Maybe [Char]) -&gt; Maybe (Maybe [Char])
forall k a. Ord k =&gt; k -&gt; Map k a -&gt; Maybe a
</span><a href="../../containers/src/Data.Map.Internal.html#lookup"><span class="hs-identifier hs-var">Map.lookup</span></a></span><span> </span><span class="annot"><span class="annottext">Extension
</span><a href="#local-6989586621679687372"><span class="hs-identifier hs-var">ext</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GhcOptions -&gt; Map Extension (Maybe [Char])
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptExtensionMap"><span class="hs-identifier hs-var hs-var">ghcOptExtensionMap</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687442"><span class="hs-identifier hs-var">opts</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-760"></span><span>        </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621679687370"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687370"><span class="hs-identifier hs-var">arg</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687370"><span class="hs-identifier hs-var">arg</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-761"></span><span>        </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe [Char]
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-762"></span><span>        </span><span class="annot"><span class="annottext">Maybe (Maybe [Char])
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>         </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-763"></span><span>            </span><span class="annot"><span class="annottext">[Char] -&gt; [[Char]]
forall a. HasCallStack =&gt; [Char] -&gt; a
</span><a href="../../base/src/GHC.Err.html#error"><span class="hs-identifier hs-var">error</span></a></span><span> </span><span class="annot"><span class="annottext">([Char] -&gt; [[Char]]) -&gt; [Char] -&gt; [[Char]]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;Distribution.Simple.Program.GHC.renderGhcOptions: &quot;</span></span><span>
</span><span id="line-764"></span><span>                  </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">Extension -&gt; [Char]
forall a. Pretty a =&gt; a -&gt; [Char]
</span><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier hs-var">prettyShow</span></a></span><span> </span><span class="annot"><span class="annottext">Extension
</span><a href="#local-6989586621679687372"><span class="hs-identifier hs-var">ext</span></a></span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot; not present in ghcOptExtensionMap.&quot;</span></span><span>
</span><span id="line-765"></span><span>    </span><span class="hs-special">]</span><span>
</span><span id="line-766"></span><span>
</span><span id="line-767"></span><span>  </span><span class="hs-comment">----------------</span><span>
</span><span id="line-768"></span><span>  </span><span class="hs-comment">-- GHCi</span><span>
</span><span id="line-769"></span><span>
</span><span id="line-770"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[[[Char]]] -&gt; [[Char]]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-ghci-script&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687369"><span class="hs-identifier hs-var">script</span></a></span><span> </span><span class="hs-special">]</span><span> </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687369"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687369"><span class="hs-identifier hs-var">script</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptGHCiScripts"><span class="hs-identifier hs-var hs-var">ghcOptGHCiScripts</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687442"><span class="hs-identifier hs-var">opts</span></a></span><span>
</span><span id="line-771"></span><span>                                        </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">GhcImplInfo -&gt; Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#flagGhciScript"><span class="hs-identifier hs-var hs-var">flagGhciScript</span></a></span><span> </span><span class="annot"><span class="annottext">GhcImplInfo
</span><a href="#local-6989586621679687426"><span class="hs-identifier hs-var">implInfo</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-772"></span><span>
</span><span id="line-773"></span><span>  </span><span class="hs-comment">---------------</span><span>
</span><span id="line-774"></span><span>  </span><span class="hs-comment">-- Inputs</span><span>
</span><span id="line-775"></span><span>
</span><span id="line-776"></span><span>  </span><span class="hs-comment">-- Specify the input file(s) first, so that in ghci the `main-is` module is</span><span>
</span><span id="line-777"></span><span>  </span><span class="hs-comment">-- in scope instead of the first module defined in `other-modules`.</span><span>
</span><span id="line-778"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; NubListR [Char]) -&gt; [[Char]]
forall {a}. (GhcOptions -&gt; NubListR a) -&gt; [a]
</span><a href="#local-6989586621679687408"><span class="hs-identifier hs-var">flags</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptInputFiles"><span class="hs-identifier hs-var hs-var">ghcOptInputFiles</span></a></span><span>
</span><span id="line-779"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">ModuleName -&gt; [Char]
forall a. Pretty a =&gt; a -&gt; [Char]
</span><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier hs-var">prettyShow</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679687367"><span class="hs-identifier hs-var">modu</span></a></span><span> </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687367"><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679687367"><span class="hs-identifier hs-var">modu</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; NubListR ModuleName) -&gt; [ModuleName]
forall {a}. (GhcOptions -&gt; NubListR a) -&gt; [a]
</span><a href="#local-6989586621679687408"><span class="hs-identifier hs-var">flags</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR ModuleName
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptInputModules"><span class="hs-identifier hs-var hs-var">ghcOptInputModules</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-780"></span><span>
</span><span id="line-781"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[[[Char]]] -&gt; [[Char]]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-o&quot;</span></span><span class="hs-special">,</span><span>    </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687366"><span class="hs-identifier hs-var">out</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687366"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687366"><span class="hs-identifier hs-var">out</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag [Char]) -&gt; [[Char]]
forall {a}. (GhcOptions -&gt; Flag a) -&gt; [a]
</span><a href="#local-6989586621679687418"><span class="hs-identifier hs-var">flag</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptOutputFile"><span class="hs-identifier hs-var hs-var">ghcOptOutputFile</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-782"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[[[Char]]] -&gt; [[Char]]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-dyno&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687365"><span class="hs-identifier hs-var">out</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679687365"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687365"><span class="hs-identifier hs-var">out</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; Flag [Char]) -&gt; [[Char]]
forall {a}. (GhcOptions -&gt; Flag a) -&gt; [a]
</span><a href="#local-6989586621679687418"><span class="hs-identifier hs-var">flag</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag [Char]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptOutputDynFile"><span class="hs-identifier hs-var hs-var">ghcOptOutputDynFile</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-783"></span><span>
</span><span id="line-784"></span><span>  </span><span class="hs-comment">---------------</span><span>
</span><span id="line-785"></span><span>  </span><span class="hs-comment">-- Extra</span><span>
</span><span id="line-786"></span><span>
</span><span id="line-787"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#ghcOptExtra"><span class="hs-identifier hs-var hs-var">ghcOptExtra</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687442"><span class="hs-identifier hs-var">opts</span></a></span><span>
</span><span id="line-788"></span><span>
</span><span id="line-789"></span><span>  </span><span class="hs-special">]</span><span>
</span><span id="line-790"></span><span>
</span><span id="line-791"></span><span>
</span><span id="line-792"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-793"></span><span>    </span><span id="local-6989586621679687426"><span class="annot"><span class="annottext">implInfo :: GhcImplInfo
</span><a href="#local-6989586621679687426"><span class="hs-identifier hs-var hs-var">implInfo</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Compiler -&gt; GhcImplInfo
</span><a href="Distribution.Simple.GHC.ImplInfo.html#getImplInfo"><span class="hs-identifier hs-var">getImplInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Compiler
</span><a href="#local-6989586621679687447"><span class="hs-identifier hs-var">comp</span></a></span><span>
</span><span id="line-794"></span><span>    </span><span id="local-6989586621679687393"><span class="annot"><span class="annottext">isOSX :: Bool
</span><a href="#local-6989586621679687393"><span class="hs-identifier hs-var hs-var">isOSX</span></a></span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">OS
</span><a href="#local-6989586621679687443"><span class="hs-identifier hs-var">os</span></a></span><span> </span><span class="annot"><span class="annottext">OS -&gt; OS -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">OS
</span><a href="Distribution.System.html#OSX"><span class="hs-identifier hs-var">OSX</span></a></span><span>
</span><span id="line-795"></span><span>    </span><span id="local-6989586621679687418"><span class="annot"><span class="annottext">flag :: (GhcOptions -&gt; Flag a) -&gt; [a]
</span><a href="#local-6989586621679687418"><span class="hs-identifier hs-var hs-var">flag</span></a></span></span><span>     </span><span id="local-6989586621679687360"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag a
</span><a href="#local-6989586621679687360"><span class="hs-identifier hs-var">flg</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Flag a -&gt; [a]
forall a. Flag a -&gt; [a]
</span><a href="Distribution.Simple.Flag.html#flagToList"><span class="hs-identifier hs-var">flagToList</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag a
</span><a href="#local-6989586621679687360"><span class="hs-identifier hs-var">flg</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687442"><span class="hs-identifier hs-var">opts</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-796"></span><span>    </span><span id="local-6989586621679687408"><span class="annot"><span class="annottext">flags :: (GhcOptions -&gt; NubListR a) -&gt; [a]
</span><a href="#local-6989586621679687408"><span class="hs-identifier hs-var hs-var">flags</span></a></span></span><span>    </span><span id="local-6989586621679687358"><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR a
</span><a href="#local-6989586621679687358"><span class="hs-identifier hs-var">flg</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">NubListR a -&gt; [a]
forall a. NubListR a -&gt; [a]
</span><a href="Distribution.Utils.NubList.html#fromNubListR"><span class="hs-identifier hs-var hs-var">fromNubListR</span></a></span><span> </span><span class="annot"><span class="annottext">(NubListR a -&gt; [a])
-&gt; (GhcOptions -&gt; NubListR a) -&gt; GhcOptions -&gt; [a]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; NubListR a
</span><a href="#local-6989586621679687358"><span class="hs-identifier hs-var">flg</span></a></span><span> </span><span class="annot"><span class="annottext">(GhcOptions -&gt; [a]) -&gt; GhcOptions -&gt; [a]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687442"><span class="hs-identifier hs-var">opts</span></a></span><span>
</span><span id="line-797"></span><span>    </span><span id="local-6989586621679687435"><span class="annot"><span class="annottext">flagBool :: (GhcOptions -&gt; Flag Bool) -&gt; Bool
</span><a href="#local-6989586621679687435"><span class="hs-identifier hs-var hs-var">flagBool</span></a></span></span><span> </span><span id="local-6989586621679687357"><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="#local-6989586621679687357"><span class="hs-identifier hs-var">flg</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Flag Bool -&gt; Bool
forall a. a -&gt; Flag a -&gt; a
</span><a href="Distribution.Simple.Flag.html#fromFlagOrDefault"><span class="hs-identifier hs-var">fromFlagOrDefault</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GhcOptions -&gt; Flag Bool
</span><a href="#local-6989586621679687357"><span class="hs-identifier hs-var">flg</span></a></span><span> </span><span class="annot"><span class="annottext">GhcOptions
</span><a href="#local-6989586621679687442"><span class="hs-identifier hs-var">opts</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-798"></span><span>
</span><span id="line-799"></span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#verbosityOpts"><span class="hs-identifier hs-type">verbosityOpts</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-800"></span><span id="verbosityOpts"><span class="annot"><span class="annottext">verbosityOpts :: Verbosity -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#verbosityOpts"><span class="hs-identifier hs-var hs-var">verbosityOpts</span></a></span></span><span> </span><span id="local-6989586621679687355"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679687355"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span>
</span><span id="line-801"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679687355"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; Verbosity -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&gt;=</span></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="Distribution.Verbosity.html#deafening"><span class="hs-identifier hs-var">deafening</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-v&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-802"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679687355"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; Verbosity -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&gt;=</span></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="Distribution.Verbosity.html#normal"><span class="hs-identifier hs-var">normal</span></a></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-803"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>              </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-w&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-v0&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-804"></span><span>
</span><span id="line-805"></span><span>
</span><span id="line-806"></span><span class="hs-comment">-- | GHC &lt;7.6 uses '-package-conf' instead of '-package-db'.</span><span>
</span><span id="line-807"></span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#packageDbArgsConf"><span class="hs-identifier hs-type">packageDbArgsConf</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Compiler.html#PackageDBStack"><span class="hs-identifier hs-type">PackageDBStack</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-808"></span><span id="packageDbArgsConf"><span class="annot"><span class="annottext">packageDbArgsConf :: PackageDBStack -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#packageDbArgsConf"><span class="hs-identifier hs-var hs-var">packageDbArgsConf</span></a></span></span><span> </span><span id="local-6989586621679687351"><span class="annot"><span class="annottext">PackageDBStack
</span><a href="#local-6989586621679687351"><span class="hs-identifier hs-var">dbstack</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">PackageDBStack
</span><a href="#local-6989586621679687351"><span class="hs-identifier hs-var">dbstack</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-809"></span><span>  </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDB
</span><a href="Distribution.Simple.Compiler.html#GlobalPackageDB"><span class="hs-identifier hs-var">GlobalPackageDB</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span class="annot"><span class="annottext">PackageDB
</span><a href="Distribution.Simple.Compiler.html#UserPackageDB"><span class="hs-identifier hs-var">UserPackageDB</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span id="local-6989586621679687348"><span class="annot"><span class="annottext">PackageDBStack
</span><a href="#local-6989586621679687348"><span class="hs-identifier hs-var">dbs</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">(PackageDB -&gt; [[Char]]) -&gt; PackageDBStack -&gt; [[Char]]
forall (t :: * -&gt; *) a b. Foldable t =&gt; (a -&gt; [b]) -&gt; t a -&gt; [b]
</span><a href="../../base/src/Data.Foldable.html#concatMap"><span class="hs-identifier hs-var">concatMap</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDB -&gt; [[Char]]
</span><a href="#local-6989586621679687346"><span class="hs-identifier hs-var">specific</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDBStack
</span><a href="#local-6989586621679687348"><span class="hs-identifier hs-var">dbs</span></a></span><span>
</span><span id="line-810"></span><span>  </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDB
</span><a href="Distribution.Simple.Compiler.html#GlobalPackageDB"><span class="hs-identifier hs-var">GlobalPackageDB</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span id="local-6989586621679687345"><span class="annot"><span class="annottext">PackageDBStack
</span><a href="#local-6989586621679687345"><span class="hs-identifier hs-var">dbs</span></a></span></span><span class="hs-special">)</span><span>               </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-no-user-package-conf&quot;</span></span><span class="hs-special">)</span><span>
</span><span id="line-811"></span><span>                                       </span><span class="annot"><span class="annottext">[Char] -&gt; [[Char]] -&gt; [[Char]]
forall a. a -&gt; [a] -&gt; [a]
</span><span class="hs-glyph hs-var">:</span></span><span> </span><span class="annot"><span class="annottext">(PackageDB -&gt; [[Char]]) -&gt; PackageDBStack -&gt; [[Char]]
forall (t :: * -&gt; *) a b. Foldable t =&gt; (a -&gt; [b]) -&gt; t a -&gt; [b]
</span><a href="../../base/src/Data.Foldable.html#concatMap"><span class="hs-identifier hs-var">concatMap</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDB -&gt; [[Char]]
</span><a href="#local-6989586621679687346"><span class="hs-identifier hs-var">specific</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDBStack
</span><a href="#local-6989586621679687345"><span class="hs-identifier hs-var">dbs</span></a></span><span>
</span><span id="line-812"></span><span>  </span><span class="annot"><span class="annottext">PackageDBStack
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[[Char]]
forall {a}. a
</span><a href="#local-6989586621679687344"><span class="hs-identifier hs-var">ierror</span></a></span><span>
</span><span id="line-813"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-814"></span><span>    </span><span id="local-6989586621679687346"><span class="annot"><span class="annottext">specific :: PackageDB -&gt; [[Char]]
</span><a href="#local-6989586621679687346"><span class="hs-identifier hs-var hs-var">specific</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Simple.Compiler.html#SpecificPackageDB"><span class="hs-identifier hs-type">SpecificPackageDB</span></a></span><span> </span><span id="local-6989586621679687342"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687342"><span class="hs-identifier hs-var">db</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-package-conf&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687342"><span class="hs-identifier hs-var">db</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-815"></span><span>    </span><span class="annot"><a href="#local-6989586621679687346"><span class="hs-identifier hs-var">specific</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDB
</span><span class="hs-identifier">_</span></span><span>                      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[[Char]]
forall {a}. a
</span><a href="#local-6989586621679687344"><span class="hs-identifier hs-var">ierror</span></a></span><span>
</span><span id="line-816"></span><span>    </span><span id="local-6989586621679687344"><span class="annot"><span class="annottext">ierror :: a
</span><a href="#local-6989586621679687344"><span class="hs-identifier hs-var hs-var">ierror</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Char] -&gt; a
forall a. HasCallStack =&gt; [Char] -&gt; a
</span><a href="../../base/src/GHC.Err.html#error"><span class="hs-identifier hs-var">error</span></a></span><span> </span><span class="annot"><span class="annottext">([Char] -&gt; a) -&gt; [Char] -&gt; a
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;internal error: unexpected package db stack: &quot;</span></span><span>
</span><span id="line-817"></span><span>                  </span><span class="annot"><span class="annottext">[Char] -&gt; [Char] -&gt; [Char]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDBStack -&gt; [Char]
forall a. Show a =&gt; a -&gt; [Char]
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDBStack
</span><a href="#local-6989586621679687351"><span class="hs-identifier hs-var">dbstack</span></a></span><span>
</span><span id="line-818"></span><span>
</span><span id="line-819"></span><span class="hs-comment">-- | GHC &gt;= 7.6 uses the '-package-db' flag. See</span><span>
</span><span id="line-820"></span><span class="hs-comment">-- https://gitlab.haskell.org/ghc/ghc/-/issues/5977.</span><span>
</span><span id="line-821"></span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#packageDbArgsDb"><span class="hs-identifier hs-type">packageDbArgsDb</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.Compiler.html#PackageDBStack"><span class="hs-identifier hs-type">PackageDBStack</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-822"></span><span class="hs-comment">-- special cases to make arguments prettier in common scenarios</span><span>
</span><span id="line-823"></span><span id="packageDbArgsDb"><span class="annot"><span class="annottext">packageDbArgsDb :: PackageDBStack -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#packageDbArgsDb"><span class="hs-identifier hs-var hs-var">packageDbArgsDb</span></a></span></span><span> </span><span id="local-6989586621679687337"><span class="annot"><span class="annottext">PackageDBStack
</span><a href="#local-6989586621679687337"><span class="hs-identifier hs-var">dbstack</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">PackageDBStack
</span><a href="#local-6989586621679687337"><span class="hs-identifier hs-var">dbstack</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-824"></span><span>  </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDB
</span><a href="Distribution.Simple.Compiler.html#GlobalPackageDB"><span class="hs-identifier hs-var">GlobalPackageDB</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span class="annot"><span class="annottext">PackageDB
</span><a href="Distribution.Simple.Compiler.html#UserPackageDB"><span class="hs-identifier hs-var">UserPackageDB</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span id="local-6989586621679687336"><span class="annot"><span class="annottext">PackageDBStack
</span><a href="#local-6989586621679687336"><span class="hs-identifier hs-var">dbs</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-825"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">(PackageDB -&gt; Bool) -&gt; PackageDBStack -&gt; Bool
forall (t :: * -&gt; *) a. Foldable t =&gt; (a -&gt; Bool) -&gt; t a -&gt; Bool
</span><a href="../../base/src/Data.Foldable.html#all"><span class="hs-identifier hs-var">all</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDB -&gt; Bool
</span><a href="#local-6989586621679687334"><span class="hs-identifier hs-var">isSpecific</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDBStack
</span><a href="#local-6989586621679687336"><span class="hs-identifier hs-var">dbs</span></a></span><span>              </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">(PackageDB -&gt; [[Char]]) -&gt; PackageDBStack -&gt; [[Char]]
forall (t :: * -&gt; *) a b. Foldable t =&gt; (a -&gt; [b]) -&gt; t a -&gt; [b]
</span><a href="../../base/src/Data.Foldable.html#concatMap"><span class="hs-identifier hs-var">concatMap</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDB -&gt; [[Char]]
</span><a href="#local-6989586621679687333"><span class="hs-identifier hs-var">single</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDBStack
</span><a href="#local-6989586621679687336"><span class="hs-identifier hs-var">dbs</span></a></span><span>
</span><span id="line-826"></span><span>  </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDB
</span><a href="Distribution.Simple.Compiler.html#GlobalPackageDB"><span class="hs-identifier hs-var">GlobalPackageDB</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span id="local-6989586621679687332"><span class="annot"><span class="annottext">PackageDBStack
</span><a href="#local-6989586621679687332"><span class="hs-identifier hs-var">dbs</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-827"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">(PackageDB -&gt; Bool) -&gt; PackageDBStack -&gt; Bool
forall (t :: * -&gt; *) a. Foldable t =&gt; (a -&gt; Bool) -&gt; t a -&gt; Bool
</span><a href="../../base/src/Data.Foldable.html#all"><span class="hs-identifier hs-var">all</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDB -&gt; Bool
</span><a href="#local-6989586621679687334"><span class="hs-identifier hs-var">isSpecific</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDBStack
</span><a href="#local-6989586621679687332"><span class="hs-identifier hs-var">dbs</span></a></span><span>              </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-no-user-package-db&quot;</span></span><span>
</span><span id="line-828"></span><span>                                       </span><span class="annot"><span class="annottext">[Char] -&gt; [[Char]] -&gt; [[Char]]
forall a. a -&gt; [a] -&gt; [a]
</span><span class="hs-glyph hs-var">:</span></span><span> </span><span class="annot"><span class="annottext">(PackageDB -&gt; [[Char]]) -&gt; PackageDBStack -&gt; [[Char]]
forall (t :: * -&gt; *) a b. Foldable t =&gt; (a -&gt; [b]) -&gt; t a -&gt; [b]
</span><a href="../../base/src/Data.Foldable.html#concatMap"><span class="hs-identifier hs-var">concatMap</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDB -&gt; [[Char]]
</span><a href="#local-6989586621679687333"><span class="hs-identifier hs-var">single</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDBStack
</span><a href="#local-6989586621679687332"><span class="hs-identifier hs-var">dbs</span></a></span><span>
</span><span id="line-829"></span><span>  </span><span id="local-6989586621679687331"><span class="annot"><span class="annottext">PackageDBStack
</span><a href="#local-6989586621679687331"><span class="hs-identifier hs-var">dbs</span></a></span></span><span>                                 </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-clear-package-db&quot;</span></span><span>
</span><span id="line-830"></span><span>                                       </span><span class="annot"><span class="annottext">[Char] -&gt; [[Char]] -&gt; [[Char]]
forall a. a -&gt; [a] -&gt; [a]
</span><span class="hs-glyph hs-var">:</span></span><span> </span><span class="annot"><span class="annottext">(PackageDB -&gt; [[Char]]) -&gt; PackageDBStack -&gt; [[Char]]
forall (t :: * -&gt; *) a b. Foldable t =&gt; (a -&gt; [b]) -&gt; t a -&gt; [b]
</span><a href="../../base/src/Data.Foldable.html#concatMap"><span class="hs-identifier hs-var">concatMap</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDB -&gt; [[Char]]
</span><a href="#local-6989586621679687333"><span class="hs-identifier hs-var">single</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDBStack
</span><a href="#local-6989586621679687331"><span class="hs-identifier hs-var">dbs</span></a></span><span>
</span><span id="line-831"></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-832"></span><span>   </span><span id="local-6989586621679687333"><span class="annot"><span class="annottext">single :: PackageDB -&gt; [[Char]]
</span><a href="#local-6989586621679687333"><span class="hs-identifier hs-var hs-var">single</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Simple.Compiler.html#SpecificPackageDB"><span class="hs-identifier hs-type">SpecificPackageDB</span></a></span><span> </span><span id="local-6989586621679687330"><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687330"><span class="hs-identifier hs-var">db</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-package-db&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><a href="#local-6989586621679687330"><span class="hs-identifier hs-var">db</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-833"></span><span>   </span><span class="annot"><a href="#local-6989586621679687333"><span class="hs-identifier hs-var">single</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDB
</span><a href="Distribution.Simple.Compiler.html#GlobalPackageDB"><span class="hs-identifier hs-var">GlobalPackageDB</span></a></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-global-package-db&quot;</span></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-834"></span><span>   </span><span class="annot"><a href="#local-6989586621679687333"><span class="hs-identifier hs-var">single</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDB
</span><a href="Distribution.Simple.Compiler.html#UserPackageDB"><span class="hs-identifier hs-var">UserPackageDB</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-string">&quot;-user-package-db&quot;</span></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-835"></span><span>   </span><span id="local-6989586621679687334"><span class="annot"><span class="annottext">isSpecific :: PackageDB -&gt; Bool
</span><a href="#local-6989586621679687334"><span class="hs-identifier hs-var hs-var">isSpecific</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Simple.Compiler.html#SpecificPackageDB"><span class="hs-identifier hs-type">SpecificPackageDB</span></a></span><span> </span><span class="annot"><span class="annottext">[Char]
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-836"></span><span>   </span><span class="annot"><a href="#local-6989586621679687334"><span class="hs-identifier hs-var">isSpecific</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDB
</span><span class="hs-identifier">_</span></span><span>                     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-837"></span><span>
</span><span id="line-838"></span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#packageDbArgs"><span class="hs-identifier hs-type">packageDbArgs</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Simple.GHC.ImplInfo.html#GhcImplInfo"><span class="hs-identifier hs-type">GhcImplInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Compiler.html#PackageDBStack"><span class="hs-identifier hs-type">PackageDBStack</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-839"></span><span id="packageDbArgs"><span class="annot"><span class="annottext">packageDbArgs :: GhcImplInfo -&gt; PackageDBStack -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#packageDbArgs"><span class="hs-identifier hs-var hs-var">packageDbArgs</span></a></span></span><span> </span><span id="local-6989586621679687329"><span class="annot"><span class="annottext">GhcImplInfo
</span><a href="#local-6989586621679687329"><span class="hs-identifier hs-var">implInfo</span></a></span></span><span>
</span><span id="line-840"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">GhcImplInfo -&gt; Bool
</span><a href="Distribution.Simple.GHC.ImplInfo.html#flagPackageConf"><span class="hs-identifier hs-var hs-var">flagPackageConf</span></a></span><span> </span><span class="annot"><span class="annottext">GhcImplInfo
</span><a href="#local-6989586621679687329"><span class="hs-identifier hs-var">implInfo</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDBStack -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#packageDbArgsConf"><span class="hs-identifier hs-var">packageDbArgsConf</span></a></span><span>
</span><span id="line-841"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDBStack -&gt; [[Char]]
</span><a href="Distribution.Simple.Program.GHC.html#packageDbArgsDb"><span class="hs-identifier hs-var">packageDbArgsDb</span></a></span><span>
</span><span id="line-842"></span><span>
</span><span id="line-843"></span><span class="hs-comment">-- -----------------------------------------------------------------------------</span><span>
</span><span id="line-844"></span><span class="hs-comment">-- Boilerplate Monoid instance for GhcOptions</span><span>
</span><span id="line-845"></span><span>
</span><span id="line-846"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679687322"><span class="annot"><a href="../../base/src/GHC.Base.html#Monoid"><span class="hs-identifier hs-type">Monoid</span></a></span><span> </span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcOptions"><span class="hs-identifier hs-type">GhcOptions</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-847"></span><span>  </span><span id="local-6989586621679687119"><span class="annot"><span class="annottext">mempty :: GhcOptions
</span><a href="../../base/src/GHC.Base.html#mempty"><span class="hs-identifier hs-var hs-var hs-var hs-var">mempty</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">GhcOptions
forall a. (Generic a, GMonoid (Rep a)) =&gt; a
</span><a href="Distribution.Compat.Semigroup.html#gmempty"><span class="hs-identifier hs-var">gmempty</span></a></span><span>
</span><span id="line-848"></span><span>  </span><span id="local-6989586621679687116"><span class="annot"><span class="annottext">mappend :: GhcOptions -&gt; GhcOptions -&gt; GhcOptions
</span><a href="../../base/src/GHC.Base.html#mappend"><span class="hs-identifier hs-var hs-var hs-var hs-var">mappend</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; GhcOptions -&gt; GhcOptions
forall a. Semigroup a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Base.html#%3C%3E"><span class="hs-operator hs-var">(&lt;&gt;)</span></a></span><span>
</span><span id="line-849"></span><span>
</span><span id="line-850"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679687111"><span id="local-6989586621679687113"><span class="annot"><a href="../../base/src/GHC.Base.html#Semigroup"><span class="hs-identifier hs-type">Semigroup</span></a></span><span> </span><span class="annot"><a href="Distribution.Simple.Program.GHC.html#GhcOptions"><span class="hs-identifier hs-type">GhcOptions</span></a></span></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-851"></span><span>  </span><span id="local-6989586621679686937"><span class="annot"><span class="annottext">&lt;&gt; :: GhcOptions -&gt; GhcOptions -&gt; GhcOptions
</span><a href="../../base/src/GHC.Base.html#%3C%3E"><span class="hs-operator hs-var hs-var hs-var hs-var">(&lt;&gt;)</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">GhcOptions -&gt; GhcOptions -&gt; GhcOptions
forall a. (Generic a, GSemigroup (Rep a)) =&gt; a -&gt; a -&gt; a
</span><a href="Distribution.Compat.Semigroup.html#gmappend"><span class="hs-identifier hs-var">gmappend</span></a></span><span>
</span><span id="line-852"></span></pre></body></html>